Как активировать конкретный лист в Excel? - PullRequest
59 голосов
/ 25 октября 2010

Мне просто нужно активировать определенный лист. У меня есть строковая переменная, которая хранит имя листа.

Ответы [ 3 ]

97 голосов
/ 25 октября 2010

Может ли вам помочь следующий макрос?

Sub activateSheet(sheetname As String)
'activates sheet of specific name
    Worksheets(sheetname).Activate
End Sub

В основном вы хотите использовать функцию .Activate.Или вы можете использовать функцию .Select следующим образом:

Sub activateSheet(sheetname As String)
'selects sheet of specific name
    Sheets(sheetname).Select
End Sub
5 голосов
/ 07 января 2017

Я бы порекомендовал вам использовать индекс рабочего листа вместо имени рабочего листа, таким образом, вы также можете циклически перебирать листы

for i=1 to thisworkbook.sheets.count
 sheets(i).activate
'You can add more code 
with activesheet
 'Code...
end with
next i

Это также улучшит производительность.

0 голосов
/ 30 ноября 2015

Альтернативный способ (не динамически) связать текст для активации рабочего листа без макросов - сделать выбранную строку фактической ссылкой.Вы можете сделать это, выбрав ячейку, содержащую текст, и нажмите CTRL + K, затем выберите опцию / вкладку «Поместить в этот документ» и выберите вкладку, которую хотите активировать.Если вы щелкнете по тексту (теперь это ссылка), настроенный лист станет активным / выбранным.

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