• Архив

    «   Март 2011   »
    Пн Вт Ср Чт Пт Сб Вс
      1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31      

Короткая запись Range в коде VBA

Оказывается при написании макросов в коде VBA можно вполне себе успешно использовать сокращения для очень распространенного оператора Range, определяющего диапазон листа для выполнения с ним каких-либо действий. Так, например, стандартная конструкция вида:
Range("F3").Value=45

может быть коротко записана всего лишь как:
[F3]=45

Т.е. квадратные скобки заменяют оператор Range, скобки и кавычки.
Такая форма записи работает во всех вариантах, где работает стандартный оператор Range, т.е. например:

  • [a1:b3, f5, h:h].ClearContents - очищает содержимое диапазона A1:B3, ячейки F5 и столбца H,
  • Worksheet("Лист1").[D3].Font.ColorIndex = 3 - делает текст в ячейке D3 первого листа красным,
  • MsgBox [SalesData].Address - выводит на экран сообщение с адресом именованного диапазона SalesData и т.д.
Удобно.
Сколько лет программирую, а не перестаю удивляться таким вот периодически встречаемым малоизвестным фишкам. Нет предела совершенству.
Наверх