Синтаксический сахар VBA

Я использую VBA в своей работе каждый день, но я не знал о синтаксическом саже Range. Я просто знал в прошлом месяце, когда увидел страницу диапазона MSDN. Я попытался найти статью с этими функциями, но я ее не нашел.

Кто-нибудь знает, имеет ли VBA больше синтаксического сахара, чем это

Диапазон: Range("A4:C100") до [A4:C100]

или

Диапазон: Range("MY_DATE") до [MY_DATE]

Для диапазонов

Все они делают то же самое:

Range(Cells(1, 2), Cells(2, 2)).Select

Range("B1:B2").Select

 Dim rngB As Range Set rngB = Range("B1:B2") rngB.Select 

[B1:B2].Select


Для строк

У вас не так много вариантов

 Dim strA As String strA = "hello" 

strA = strA + "world" и strA = strA & "world" делают то же самое (предпочтительнее амперсанд)

strA &= "world" и strA += "world" не работают.


Для рабочих листов

Обычно вы можете работать с фактическим листом по умолчанию с номером, а не с именем листа:

 Worksheets("Name").Activate Sheets("Name").Activate 'Worksheet "Name" is Sheet1 object Sheet1.Activate 

Для формул / функций рабочего листа

Из ответа Excellll для полноты:

Еще один синтаксический ярлык предназначен для доступа и оценки функций рабочего листа. Вы можете использовать скобки для оценки формулы, как если бы она находилась на листе, а не навязывала громоздкую инструкцию VBA.

 Sub sugartest() 'long version MsgBox Application.WorksheetFunction.Average(ActiveSheet.Range("A1:D1")) 'short version MsgBox [AVERAGE(A1:D1)] End Sub 

Еще один синтаксический ярлык предназначен для доступа и оценки функций рабочего листа. Вы можете использовать скобки для оценки формулы, как если бы она находилась на листе, а не навязывала громоздкую инструкцию VBA.

 Sub sugartest() 'long version MsgBox Application.WorksheetFunction.Average(ActiveSheet.Range("A1:D1")) 'short version MsgBox [AVERAGE(A1:D1)] End Sub 
  • Назначить сочетание клавиш для запуска процедуры
  • Как вернуть число измерений переменной (Variant), переданной ей в VBA
  • Функция IsDate возвращает неожиданные результаты
  • Выберите первую пустую ячейку в столбце F, начиная с строки 1. (без использования смещения)
  • Установка автоматической фильтрации нескольких подстановочных знаков
  • Закрытие приложения Excel с помощью VBA
  • Как вставить изображение в Excel в указанной ячейке с помощью VBA
  • Разбить рабочий лист Excel на несколько рабочих листов на основе столбца с VBA
  • Обработка ошибок в математических функциях
  • Быстрый метод сравнения из 2 столбцов
  • Как искать строку в массиве
  • Interesting Posts
    Давайте будем гением компьютера.