Синтаксис VBA Функции - заменители синтаксических конструкций VBA

          Назад



3.8.8 Функции — заменители синтаксических конструкций


Функции - заменители синтаксических конструкций VBA, функции Choose(), IIF(), Switch()

В VBA предусмотрено несколько функций, которые позволяют заменять синтаксические конструкции условного перехода, например, IF…THEN…ELSE или SELECT…CASE. Каких-то преимуществ применение этих функций не дает (может быть, код станет на несколько строчек короче), но профессиональные программисты очень любят их использовать, когда только это возможно.

Начинающим программистам рекомендуется обычные синтаксические конструкции, чтобы не путаться. Однако для чтения чужого кода необходимо знать и эти функции. Вот их перечень:

  • Choose() — принимает число (номер значения) и несколько значений. Возвращает значение, порядковый номер которого соответствует передаваемому числу. Например, Choose (2, "Первый", "Второй", "Третий") вернет "Второй".
  • IIF() — расшифровывается как Immediate IF, то есть "Немедленный IF. Представляет из себя упрощенный вариант IF, когда проверяется условие и возвращается одно из двух значений. Пример:

IIf (n > 10, "Больше десяти", "Меньше или равно десяти")

  • Switch() — принимает неограниченное количество пар типа выражение/значение, проверяет каждое выражения на истинность и возвращает значение для первого выражения, которое оказалось истинным. Например:

Function Language (CityName As String)

Language = Switch(CityName = "Москва", "русский", CityName _

= "Париж", "французский", CityName = "Берлин", "немецкий")

End Function




Далее