Создание новой книги Excel и копирование в нее заданных c вкладок - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать новую рабочую книгу, а затем скопировать в нее указанные c вкладки, однако при компиляции появляется ошибка «Недопустимый квалификатор».

Я не знаю, какая текущая рабочая книга будет вызван, следовательно, необходим код для определения этого

Sub NewWb()

Dim Aname As String
Dim Bname As String
Dim FileUse As String
Dim wbkCurrent As Workbook

Set wbkCurrent = ActiveWorkbook

Aname = "NewWorkbook_"
Bname = Format(Now, "YYYY-MM-DD")
FileUse = Aname & Bname

Debug.Print FileUse

Workbooks.Add
ActiveWorkbook.SaveAs Filename:=FileUse

wbkCurrent.Activate

wbkCurrent.Name.Worksheets(Array("Tab1", "Tab2", "Tab3")).Copy Before:=FileUse.Worksheets(FileUse.Worksheets.Count)

End Sub

1 Ответ

2 голосов
/ 09 апреля 2020

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

Sub NewWb()

Dim Aname As String
Dim Bname As String
Dim FileUse As String
Dim wbkCurrent As Workbook
Dim wbNew As Workbook

Set wbkCurrent = ActiveWorkbook

Aname = "NewWorkbook_"
Bname = Format(Now, "YYYY-MM-DD")
FileUse = Aname & Bname

Debug.Print FileUse

Set wbNew = Workbooks.Add
wbNew.SaveAs Filename:=FileUse

wbkCurrent.Worksheets(Array("Tab1", "Tab2", "Tab3")).Copy Before:=wbNew.Worksheets(wbNew.Worksheets.Count)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...