我正在运行 https://trumpexcel.com/split-each-excel-sheet-into-separate-files/ 中的代码示例,将 Excel 工作簿拆分为每个工作表一个文件。
我遇到错误“运行时错误‘1004’:我们无法复制此表。”
'Code Created by Sumit Bansal from trumpexcel.com
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
ws.Copy
Application.ActiveWorkbook.SaveAs Filename:=FPath & "\" & ws.Name & ".xlsx"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
事实证明,宏在遇到隐藏的工作表时出错了。 为了解决这个问题,我更新了脚本以忽略隐藏的工作表。
最终结果
'Code Created by Sumit Bansal from trumpexcel.com
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
If ws.Visible <> xlSheetHidden Then
ws.Copy
Application.ActiveWorkbook.SaveAs Filename:=FPath & "\" & ws.Name & ".xlsx"
Application.ActiveWorkbook.Close False
End If
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
我无法对原始文章发表评论,因此在此发布修复程序。 如果您需要复制隐藏的工作表,您可能必须取消隐藏它,复制工作表,然后再次隐藏它。
谢谢!我真的很感谢您发布此修复程序。省去了我一些心痛。