在 Excel VBA 中复制工作表时出错“我们无法复制此工作表。”

问题描述 投票:0回答:2

我正在运行 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
excel vba
2个回答
1
投票

事实证明,宏在遇到隐藏的工作表时出错了。 为了解决这个问题,我更新了脚本以忽略隐藏的工作表。

最终结果

'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

我无法对原始文章发表评论,因此在此发布修复程序。 如果您需要复制隐藏的工作表,您可能必须取消隐藏它,复制工作表,然后再次隐藏它。


0
投票

谢谢!我真的很感谢您发布此修复程序。省去了我一些心痛。

© www.soinside.com 2019 - 2024. All rights reserved.