我的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
答案 0 :(得分:3)
只需将工作表复制到任何位置。这将创建一个具有单个工作表(原始副本)的新活动工作簿,准备将其另存为xlCSV。
parse(self, response)
答案 1 :(得分:1)
尝试
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
答案 2 :(得分:0)
我发现了这个问题!我没有意识到隐藏工作表会导致复制方法无法正常工作...
Worksheets("port").Visible = xlVeryHidden
...所以我要做的是在复制之前先揭露了工作表,然后在复制完成后再次隐藏。
Worksheets("port").Visible = True
谢谢你们对我的帮助!