2017-03-07 109 views
0

下面的代码有什么问题?我收到运行时1004错误。运行时需要1004错误协助

Sub Save_CSV() 
' 
' Save_CSV Macro 
' 

' 
     Columns("A:K").Select 
     Selection.Copy 
     Workbooks.Add 
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  SkipBlanks _ 
     :=False, Transpose:=False 
    Application.CutCopyMode = False 
    ThisWorkbook.SaveAs Filename:= _ 
     "G:\Business & Facility\Finance\Finance Documents\Payroll Journal\EH Payroll Journal IMPORT.csv" _ 
     , FileFormat:=xlCSV, CreateBackup:=False 
    Windows("EH Payroll Journal TEMPLATE Xero.xlsm").Activate 
End Sub 
+0

您不清楚哪条线收到1004错误。但是,在代码中显然有一些事情可以修复,这将帮助您避免该错误和其他错误...阅读[this](http://stackoverflow.com/documentation/excel-vba/1107/vba- best-practices/9292/avoid-using-select-or-activate#t = 201703070253108353635)and [this](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/11274/always -define和设置引用到的所有的工作簿和表#T = 201703070253108353635)。 – PeterT

回答

1

假设ThisWorkbook是“EH工资日志模板Xero.xlsm”,那么一旦你已经完成了ThisWorkbook.SaveAs您将不再能够激活包含它的窗口,因为你已经保存为“EH工资杂志IMPORT.csv”。

您可能想改为使用ActiveWorkbook.SaveAs来保存复制数据的新添加的工作簿。