在我的 vba 代码中遇到以下错误。
运行时错误"1004": 工作表类的复制方法失败
Public Sub ExportAsCSV(savePath)
Set ws = Workbooks("OND Estimator").Worksheets("port") 'Sheet to export as CSV
Set wb = Application.Workbooks.Add
ws.Copy Before:=wb.Worksheets(wb.Worksheets.Count)
Application.DisplayAlerts = False 'Possibly overwrite without asking
wb.SaveAs Filename:=savePath, FileFormat:=xlCSV
Application.DisplayAlerts = True
wb.Close savechanges:=False
End Sub
只需将工作表复制到任何位置即可。这将创建一个新的活动工作簿,其中包含准备另存为 xlCSV 的单个工作表(原始工作表的副本(。
Public Sub ExportAsCSV(savePath)
Workbooks("OND Estimator").Worksheets("port").Copy 'Sheet to export as CSV
Application.DisplayAlerts = False 'Possibly overwrite without asking
with activeworkbook
.SaveAs Filename:=savePath, FileFormat:=xlCSV
.Close savechanges:=False
end with
Application.DisplayAlerts = True
End Sub
试试
Public Sub ExportAsCSV(savePath)
Application.DisplayAlerts = False 'Possibly overwrite without asking
With Workbooks("OND Estimator").Worksheets("port").Parent
.SaveAs Filename:=savePath, FileFormat:=xlCSV
.Close savechanges:=False
End With
Application.DisplayAlerts = True
End Sub
我发现了这个问题!我没有意识到隐藏工作表会导致复制方法无法正常工作......
Worksheets("port").Visible = xlVeryHidden
。所以我所做的是,我在复制之前暴露了工作表,然后在复制完成后再次隐藏。
Worksheets("port").Visible = True
谢谢你们对我的帮助!