分享 | 直接调用的VBA代码,谁都可以直接使用!
并不是人人都是有时间去学习VBA代码,但是很多办公场景如果有了VBA,可能帮你节约很多时间。
如果我们需要把一个工作薄中的全部Sheet表,保存成一个独立的文件!
首先,保姆级服务应该想让大家如何使用别人写好的代码,如果我们再提供直接调用的代码!
如果使用别人写好的VBA?
之前专门写过教程,如果不了解的同学,可以先读一读,不会写不要紧,要紧的是知道如何使用别人写好的代码(宏)!
带链接的哦!【如果使用别人写好的VBA代码?】
第一组 | 如何选择文件?
▼ 代码及调用测试
现在我们就可以自己选择文件,然后拿到文件,后续我们根据用户选择的文件来进行拆分处理。
▼VBA源码:参数为初始文件夹
'功能:选择文件并返回名称
'公众号:Excel办公实战
'作者:E精精
'日期:20210508
'---------------------------------------------------------
Function SelectedFile(sInitialFileName As String) As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = sInitialFileName
If .Show Then
SelectedFile = .SelectedItems(1)
Else
SelectedFile = ""
End If
End With
End Function
第二组 | 把按表名拆分成独立的Excel文件
VBA源码:可以直接调用
'功能:按表名拆成成独立的Excel
'参数:
' 1、wbName -需要拆分的工作薄全路径
' 2、savePath - 保存的路径,默认当前
' 3、sKey - 提供过滤条件,支持通配符
'公众号:Excel办公实战
'作者:E精精
'------------------------------------------------
Sub transShtToWb( _
ByVal wbName As String, _
Optional savePath As String = "", _
Optional sKey As String = "*" _
)
Dim wb As Workbook
Set wb = Workbooks.Open(wbName, UpdateLinks = False, True)
Dim sht As Worksheet
If savePath = "" Then savePath = ThisWorkbook.Path
For Each sht In wb.Worksheets
If sht.Name Like sKey Then
sht.Copy
ActiveWorkbook.SaveAs savePath & "\" & sht.Name, _
FileFormat:=XlFileFormat.xlOpenXMLWorkbook
ActiveWorkbook.Close
End If
Next
wb.Close False
MsgBox "拆分完成~"
End Sub
调用代码,直接拆分
大家使用调用代码,非常的方便,只要下面两句
如果你不是全部,可以使用第三参数进行过滤
Sub 调用()
Dim wbName As String
'初始文件夹E盘
wbName = SelectedFile("E:")
'调用拆分,保存到E盘Data文件夹下
transShtToWb wbName, "E:\Data"
End Sub
▼ 调用效果-动画演示
本文由“壹伴编辑器”提供技术支持
点个
在看
你最好看
赞 (0)