logo
Конспект лекций по КИТ

Функции выбора

Кроме перечисленных выше основных категорий функций в VBA имеются также функции выбора, которые дублируют некоторые аспекты операторов условного перехода. Ниже приведены эти функции.

Функция

Возвращаемое выражение

Iif

Возвращает одну из двух альтернатив.

Синтаксис:

IIf(expr, truepart, falsepart)

  • expr — проверяемое выражение

  • truepart — значение или выражение, возвращаемое, если ехрг имеет значение True

  • falsepart — значение или выражение, возвращаемое, если ехрг имеет значение False

В следующем примере, если значение переменной ОценкаЦифрой равно 5, то переменной ОценкаПрописыо присваивается строковая константа Отлично. В противном случае ей присваивается значение

Не отлично:

ОценкаПрописыо = Ilf(ОценкаЦифрой = 5, "Отлично", if

"Не отлично")

Choose

Возвращает значение, выбранное из списка аргументов.

Синтаксис:

Choose(индекс, вариант-1[, вариант-2, ... [, вариант-п]])

  • индекс — числовое выражение или поле, значением которого является число, лежащее между 1 и числом элементов в списке

  • вариант — выражение типа Variant, содержащее один из эле­ментов списка

Действие функции choose: если индекс равняется 1, возвращается первый элемент списка, если индекс равняется 2, возвращается второй элемент списка и т. д.

Функцию choose можно использовать для выбора одного из воз­можных значений, представленных в виде списка. В следующем примере, если аргумент Выбор принимает значение 3, то переменной РезультатВыборы присваивается значение "три": РезультатВыборы = Choose(Выбор, "один", "два", "три")

Switch

Возвращается значение, соответствующее первому истинному вы­ражению в списке.

Синтаксис:

Switch(выражение-1, значение-1[, выражение-2, значение-2 [, выражение-n, значение-п]])

  • выражение — выражение типа Variant, подлежащее вычислению

  • значение — возвращаемое значение или выражение, если соот­ветствующее выражение принимает значение True

В следующем примере функция по указанной фамилии возвращает название должности сотрудника некоторой фирмы: Должность = Switch(Фамилия = "Парижский", "Президент", _ Фамилия = "Быстрое", "Менеджер", _ Фамилия = "Курочкина", "Референт")