1、首先和
办公自动化培训老师看一下原始数据表,在这个工作簿中每个工作表分别存储了一个人的数据。现在需要将每个人的工作表单独存成excel工作簿文件。
2、首先,按键盘上的Alt+F11进入VBA代码编辑界面。
4、在模块内粘贴下述代码:
Sub SaveAs()
On Error Resume Next
Dim FolderPath As String, FolderName As String, BN As String
Dim ReturnValue As Integer
BN = ActiveWorkbook.Name
FolderPath = ThisWorkbook.Path
FolderName = Mid(BN, 1, InStrRev(BN, ".", Len(BN)) - 1)
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
If MyFile.folderexists(FolderPath & "\" & FolderName & "-Saved") Then
ReturnValue = MsgBox("文件夹已存在,是否更新内容?", vbOKCancel, "Caution!")
If ReturnValue = 2 Then Exit Sub
Else
MyFile.CreateFolder (FolderPath & "\" & FolderName & "-Saved")
Set MyFile = Nothing
End If
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i As Integer
For i = 1 To Sheets.Count
Set Wk = Workbooks.Add
Workbooks(BN).Sheets(i).Copy before:=Wk.Worksheets("Sheet1")
Wk.SaveAs FolderPath & "\" & FolderName & "-Saved\" & ThisWorkbook.Sheets(i).Name
Wk.Close
Next i
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
5、如下图示例,插入一个按钮并指定按钮至刚才插入的宏代码。
6、点击刚才插入的按钮,运行完毕后可以看到在同目录下出现了一个名称为“拆分工作表-Saved”文件夹,打开文件夹可以看到被拆分出来的若干个工作表。
7、如果已经运行过一次拆分过程生成了上述文件夹和文件,更改源文件内容后再次点击按钮时会提示是否更新原来生成的文件,如果点击【确定】则更新文件夹内的文件。
本文来源:网络。整理:
办公自动化培训老师。如有侵权,请联系小编更正。(版权声明:推送文章我们都会注明作者和来源,除非确实无法确认。部分文章推送时未能与原作者取得联系,若涉及版权问题,烦请原作者联系我们。)