VBA, активировать книгу, не называя ее явно - PullRequest
0 голосов
/ 10 декабря 2018

мой код содержит рабочую книгу A и рабочую книгу B. Я копирую листы из B в A. Проблема в том, что оба будут открыты, поэтому я явно называю каждую рабочую книгу.

Когда я вставляю в BI, активируйте A с помощьюего имя.Могу ли я в любом случае активировать А, не используя имя книги?

'Set Current Workbook as Master
Set masterWB = Application.ThisWorkbook
'Set some Workbook as the one you are copying from
Set dailyWB = Workbooks.Open(Sheets("Control Manager").Range("O2"))

'Copy the Range from dailyWB and Paste it into the MasterWB
dailyWB.Sheets("Summary").Range("A1:BJ200").Copy masterWB.Sheets("AFS Summary").Range("A1").Rows("1:1")
'formatting and paste as values
Workbooks("Workbook B").Activate
Worksheets("Summary").Select

1 Ответ

0 голосов
/ 10 декабря 2018

Если вы не хотите явно установить свою рабочую книгу, тогда вы можете всегда ожидать места для ошибки.

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

Dim masterWB As Workbook, dailyWB As Workbook, wb As Workbook

Set masterWB = ThisWorkbook
For Each wb In Application.Workbooks
    If wb.Name <> masterWB.Name Then 
        Set dailyWB = wb
        exit for
    End if
Next

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