Существуют разные способы доступа к листам книги. Один из них - использовать коллекцию Worksheets
Рабочей книги (или коллекцию Sheets
). Это можно сделать с помощью индекса или имени листа. Предполагая, что вы работаете с ActiveWorkbook
(рабочая книга, которая отображается в данный момент и имеет фокус), вы можете использовать
Set datasheet = ActiveWorkbook.Worksheets(1) ' Access the first sheet
Set datasheet = ActiveWorkbook.Worksheets("Sheet10") ' Access the sheet with the name Sheet10
имя листа - это имя, отображаемое в Excel
Второй способ - получить к нему доступ через кодовое имя . По умолчанию кодовое имя листа такое же, как и имя, однако оно не изменится при переименовании листа. Вы можете увидеть и изменить кодовое имя листа только из среды VBA - в окне проекта и в окне свойств.
Вы можете получить доступ к листу, используя кодовое имя в качестве объектной переменной - как вы это делаете в ваш код.
Set datasheet = sheet10
Однако это доступно только до тех пор, пока ваш код хранится в этой книге. Если ваш код находится за пределами рабочей книги (например, в личной книге), он неизвестен и приводит к ошибке компилятора.
TL; DR: вы, вероятно, хорошо используете ActiveWorkbook.Worksheets("Sheet10")