Как активировать рабочий лист из рабочей книги, которую я уже открыл ранее, на основе текста ячейки из моей текущей рабочей книги в VBA? - PullRequest
0 голосов
/ 12 апреля 2020

Как активировать рабочий лист рабочей книги, который я уже открыл ранее, на основе текста ячейки из моей текущей рабочей книги? Например, я попытался использовать приведенный ниже код для активации устройстваB рабочего листа в «Book1», где я уже открылся из текущей рабочей книги, которую я использую, под названием «anotherworkbook», но там написано, что индекс находится вне диапазона, когда явно существует устройство B рабочего листа в "Book1".

ThisWorkbook.Worksheets(Sheets(1).Range("A2").Text).Activate 

'trying to activate the worksheet device B in "Book1" from another workbook that i am currently using called "anotherworkbook"

Книга под названием book1, которую я уже открыл, где я пытаюсь активировать лист, позволяет устройству B на основе текста ячейки из моей текущей книги под названием "anotherworkbook"

enter image description here

Текущая рабочая книга, которую я использую, называется "Другая рабочая книга"

enter image description here

1 Ответ

1 голос
/ 12 апреля 2020

Сначала активируйте книгу.
Затем Активируйте лист в этой книге.
(затем при необходимости активируйте диапазон на этом листе)

РЕДАКТИРОВАТЬ # 1:

Вот некоторый рабочий код. Предполагается:

  1. master.xlsm равен ThisWorkbook и содержит макросы
  2. master.xlsm имеет рабочий лист с именем Устройство B
  3. Book1.xlsx имеет один лист, а в ячейке A2 этого листа находится текст Устройство B

    Sub Routine()
    Dim databook As Workbook, s As String
    
    Set databook = Workbooks.Open(Filename:="C:\TestFolder\Book1.xlsx")
    s = databook.Sheets(1).Range("A2").Text
    
    ThisWorkbook.Activate
    Worksheets(s).Activate
    End Sub
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...