2015-09-22 5 views
0

Я использую этот код, чтобы скопировать данные из одного листа книги в другую книгу, создав новую книгу и листы.Ошибка времени выполнения 1004 в Excel VBA

при ActiveSheet.Name = "Summary" это метание 1004 ошибки.

Sub MakeExcelFiles() 
' create an Excel file from an Excel table 
Dim DefFolder As String 
Dim XMLFileName As String, RTC1 As Integer 
Dim Counter As Integer 
Dim CounterMax As Integer 
Dim Name1 As String 
DefFolder = "C:\HRBPEMAIL\" 'change this to the location where you want to save Excel files 
Calculate 
Counter = 1 
CounterMax = 10 
Sheets("Combinations").Cells(1, 1).Value = Now() 
    For Counter = 1 To CounterMax 
     Range("B1").Select 
     ActiveCell.FormulaR1C1 = Counter 
     Calculate 
     Name1 = Range("G1") 
     XMLFileName = DefFolder & Name1 
     Workbooks.Add 
     ActiveSheet.Name = "Summary" 
     'ActiveWorkbook.Worksheet("Sheet1").Activate 
     'Sheets("Sheet1").Select 
     'Sheets("Sheet1").Name = "Summary" 
     'Sheets.Add After:=ActiveSheet 
     'ActiveWorkbook.Worksheet("Sheet2").Activate 
     'Sheets("Sheet2").Select 
     'Sheets("Sheet2").Name = "Data" 
     Sheets.Add.Name = "Data" 
     ActiveWorkbook.SaveAs Filename:=XMLFileName, _ 
     FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
     Windows("HRBP-Email-Master-Working-21-Sep-2015-Grand-Master-File_V1.xlsm").Activate 
     Sheets("FinalData").Select 
     Sheets("FinalData").Range("A1:BN2200").Copy 
     Application.Workbooks(Name1).Activate 
     Sheets("Data").Select 
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False 
     Application.CutCopyMode = False 
     Windows("HRBP-Email-Master-Working-21-Sep-2015-Grand-Master-File_V1.xlsm").Activate 
     Sheets("Summary").Select 
     Sheets("Summary").Range("A1:D24").Copy 
     Application.Workbooks(Name1).Activate 
     Sheets("Sheet1").Select 
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False 
     Windows("HRBP-Email-Master-Working-21-Sep-2015-Grand-Master-File_V1.xlsm").Activate 
     Sheets("Summary").Select 
     Sheets("Summary").Range("A1:D24").Copy 
     Application.Workbooks(Name1).Activate 
     Sheets("Sheet1").Select 
     Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
     SkipBlanks:=False, Transpose:=False 
     Columns("B:B").EntireColumn.AutoFit 
     Columns("D:D").EntireColumn.AutoFit 
     Application.CutCopyMode = False 
     Range("A1").Select 
     Application.Workbooks(Name).Save 
     Application.Workbooks(Name).Close 
     Windows("HRBP-Email-Master-Working-21-Sep-2015-Grand-Master-File_V1.xlsm").Activate 
     Sheets("Combinations").Select 

Next Counter 
Sheets("Combinations").Cells(2, 1).Value = Now() 
End Sub 
+3

Что произойдет, если вы измените «Резюме» с «Summary2»? Возможно, это имя уже используется. –

+0

У вас есть действующий рабочий лист? Он также может возвращать «Nothing», и это может быть причиной этого сообщения об ошибке! https://msdn.microsoft.com/en-us/library/office/ff822753.aspx?f=255&MSPPError=-2147217396 – gabowsky

ответ

0

я бы предположить, что либо:

лист называется Резюме уже существует (маловероятно, так как я уверен, вы бы проверили это), или это общая ошибка для отсутствующего ссылки.

В VBE меню Tools/References и снимите выделение какой-либо этот список, как «отсутствует»

Смежные вопросы