Мне просто нужно активировать определенный лист. У меня есть строковая переменная, которая сохраняет имя рабочего листа.Как активировать конкретный рабочий лист в Excel?
ответ
Помогла бы вам следующая Макро?
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
Альтернативный способ (не динамически) связать текст, чтобы активировать лист без макросов, чтобы выбранная строки фактической ссылки. Вы можете сделать это, выбрав ячейку, которая содержит текст, и нажмите CTRL + K, затем выберите опцию/вкладку «Место в этом документе» и выберите вкладку, которую вы хотите активировать. Если вы нажмете текст (теперь это ссылка), настроенный лист станет активным/выбранным.
Я бы рекомендовал использовать индекс рабочего листа вместо того, чтобы использовать имя рабочего листа, таким образом, вы можете перебрать листы «динамически»
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Он будет также улучшить производительность.
«имя листа» может быть номером индекса рабочего листа (поэтому целочисленным). Даже если значение «Option Base» равно 0, оно начинается с индекса 1. –