Существует несколько способов обращения к другому рабочему листу в рабочей книге и даже к другой рабочей книге.
Обратитесь к другому листу с помощью Sheets(
или Worksheets(
. Это может принимать два аргумента, либо номер листа Sheets(1)
, но я считаю это ненадежным, так как иногда трудно отслеживать правильные номера листов при добавлении и удалении листов. Лучший способ - обратиться напрямую по названию листа: Sheets("Sheetname")
. Обратите внимание, что небольшая разница в использовании Sheets
или Worksheets
.
Как указывал SJR, существует третий способ ссылки на листы с листом codename
. Кодовое имя - это имя листа, отображаемого в вашем окне VBA. Вы можете получить кодовое имя вашего листа с Debug.Print Sheet("name").Codename
. И вы можете обратиться непосредственно к этому листу, например, Sheet1.Range("A:A")
и т. Д.
Чтобы убедиться, что вы обращаетесь к нужному листу в открытой книге, и не допустите, чтобы ваш VBA запускался в другой вашей книге. открыть одновременно используйте либо Activeworkbook.Sheets
, который относится к рабочей книге, которая в данный момент активна, либо Thisworkbook.Sheets
, которая относится к конкретной книге, в которой находится код VBA. Вы также можете использовать Workbook("Workbook name").sheets
.
* 1022. *
Дальнейшее чтение для вас.