2015-03-20 7 views
0

Я пытаюсь скопировать лист в другой книге, как этотExcel VBA макросов копию в последнем листе

WB.Sheets("WorkSheet").Copy ThisWorkbook.Sheets(Sheets(Sheets.Count).Select) 

Итак, я хочу, что скопированный лист последний лист в моей книге. Когда я помещаю 1 в последнюю скобку, он всегда использует новый лист, но я хочу, чтобы он копировал лист всегда на том же листе, поэтому перезаписывает его. Все это выглядеть так:

strPath = ThisWorkbook.Path & "\Subfolder\" 
strFile = "copyFile.xlsx" 

Application.ScreenUpdating = False 

Dim WB As Workbook 
Dim Ret 

Ret = IsWorkBookOpen(strPath & strFile) 
If Ret = True Then 
Else 
    Set WB = Workbooks.Open(strPath & strFile) 
End If 

WB.Sheets("WorkSheet").Copy ThisWorkbook.Sheets(Sheets(Sheets.Count).Select) 
WB.Close False 
Application.ScreenUpdating = True 

ответ

0

Вы можете использовать либо

WB.Sheets("WorkSheet").Copy **after:=** ThisWorkbook.Sheets(Sheets(Sheets.Count).Select) 

Или

WB.Sheets("WorkSheet").Copy ThisWorkbook.Sheets(Sheets(Sheets.Count **+1**).Select) 
Смежные вопросы