Как получить доступ к рабочему листу не используя его индекс или имя?

Получить доступ к рабочему листу (или листу диаграммы) можно не только с помощью индекса (номера) или имени в семействе Worksheets или Sheets, Charts, но и посредством использования имени, используемого в среде VBA, и именуемого кодовое имя (иногда называемого также программное имя)

code: #vba
Dim iWorksheet As Worksheet
Set iWorksheet = Лист2
code: #vba
With Лист2
 
End With

Пример использования кодового имени (ввод стандартной функции рабочего листа в несмежные ячейки и изменение цвета заливки пустых ячеек)

code: #vba
Лист2.[A1:C3].Clear
Лист2.[A1,A3,B2,C1,C3].Formula = "=Rand()"
Лист2.[A1:C3].SpecialCells(xlBlanks).Interior.Color = vbRed
code: #vba
With Лист2
     .[A1:C3].Clear
     .[A1,A3,B2,C1,C3].Formula = "=Rand()"
     .[A1:C3].SpecialCells(xlBlanks).Interior.ColorIndex = 3
End With

Комментарий:

  • Если применение кодового имени предполагается только из-за возможности случайного переименования, перемещения рабочего листа, то Вы можете запретить подобные действия
  • Кодовое имя также можно изменить, причём как вручную, так и программно
  • Не забывайте, что это имя также имеет свои ограничения
  • Использование кодового имени возможно только для текущей книги, для того, чтобы получить доступ к листу другой рабочей книги необходимо либо установить ссылку , либо воспользоваться следующим
Поделиться:

Похожие статьи: