Vba как определить четное число
Перейти к содержимому

Vba как определить четное число

  • автор:

 

Примеры функций ISEVEN — Excel, VBA и Google Таблицы

Функция Excel ISEVEN - проверка четности значения ячейки

Функция ISEVEN Проверяет, четное ли значение ячейки. Возвращает ИСТИНА или ЛОЖЬ.

Чтобы использовать функцию ISEVEN Excel Worksheet, выберите ячейку и введите:

(Обратите внимание, как появляются входные данные формулы)

Синтаксис и входные данные функции ISEVEN:

1 = ISEVEN (число)

ценить — Тестовое значение

Как использовать функции ISEVEN и ISODD

Функция ISEVEN проверяет четность числового значения. Если четное, функция возвращает ИСТИНА, в противном случае — ЛОЖЬ.

1 = ЕЧЕЧНО (A2)

Функция ISODD делает наоборот.

1 = ISODD (A2)

Альтернативное затенение строк

Наиболее распространенное использование функций ISEVEN и ISODD — затенение чередующихся строк с помощью Условное форматирование.

Для этого воспользуемся формулой:

в Условное форматирование:

  1. Выделите все ячейки для затенения
  2. Перейти к Домашняя лента >Условное форматирование >Новое правило
  3. Выбирать ‘Используйте формулу, чтобы определить, какие ячейки нужно форматировать
  4. Введите формулу = ЕВРОПЕЙСКОЕ (СТРОКА ())
  5. Нажмите кнопку «Формат» и выберите желаемое форматирование.
  6. Дважды нажмите OK, чтобы выйти и сохранить.

Вы можете добавить второе правило условного форматирования, чтобы также затенять строки ODD.

1 = ISODD (СТРОКА ())

ISEVEN в Google Таблицах

Функция ISEVEN работает в Google Таблицах точно так же, как и в Excel:

ISEVEN Примеры в VBA


Вы также можете использовать функцию ISEVEN в VBA. Тип:
Application.Worksheetfunction.Iseven (число)
Для аргумента функции (числа) вы можете либо ввести их непосредственно в функцию, либо определить переменные, которые будут использоваться вместо них.

Условные операторы и циклы

Условные операторы позволяют в зависимости от значения логического выражения выполнить отдельный участок программы или, наоборот, не выполнять его. Логические выражения возвращают только два значения True (истина) или False (ложь).

Логическое значение можно сохранить в переменной:

С помощью функции CBool() можно преобразовать число или строку в логический тип данных. Любое число не равное 0 будет преобразовано в значение True , а значение 0 — в False . Пример:

Операторы сравнения

Операторы сравнения используются в логических выражениях. Перечислим их:

  • = — равно:
  • <> — не равно:
  • < — меньше:
  • > — больше:
  • <= — меньше или равно:
  • >= — больше или равно:
  • Is — проверяет, ссылаются ли две объектные переменные на один и тот же объект. Если переменные ссылаются на один и тот же объект, то оператор Is возвращает значение True :

Сравнивать можно не только числа, но и строки. При сравнении строк производится проверка кодов отдельных символов в строке слева направо. Строки считаются равными, если они имеют одну длину и содержат одинаковые символы на равном смещении от начала строки. Строки могут сравниваться в двух режимах:

  • двоичный режим — сравнение производится по кодам символов и зависит от регистра символов (режим используется по умолчанию):
  • тестовый режим — сравнение производится без учета регистра символов. Чтобы включить текстовый режим необходимо добавить инструкцию Option Compare Text в самое начало модуля:

Сравнить строку с заданным шаблоном позволяет оператор Like . Результат сравнения зависит от используемого режима. Если используется двоичный режим (по умолчанию), то регистр символов учитывается, а если текстовый режим (в начале модуля указана инструкция Option Compare Text ) — то регистр не учитывается. Оператор Like имеет следующий формат:

В строке шаблона могут быть использованы следующие специальные символы:

 

  • ? — один любой символ:
  • * — произвольное количество любых символов:
  • # — любая цифра от 0 до 9:
  • [<Список символов>] — один из указанных символов. Символы можно перечислить подряд или указать диапазон через тире. Обратите внимание на то, что буква ё не входит в диапазон а-я . Пример сравнения в двоичном режиме:

Пример сравнения в текстовом режиме:

  • [!<Список символов>] — любой символ, кроме указанных символов. Символы можно перечислить подряд или указать диапазон через тире. Пример:

Логические операторы

Значение логического выражения можно инвертировать с помощью оператора Not :

Если значения равны, то возвращается значение True , но так как перед выражением стоит оператор Not , выражение вернет False . Круглые скобки можно не указывать, т. к. оператор Not имеет более низкий приоритет выполнения, чем операторы сравнения.

Несколько логических выражений можно объединить в одно большое с помощью следующих логических операторов:

  • And — логическое И. Вернет True только в случае, если оба выражения равны True :
  • Or — логическое ИЛИ. Вернет True , если хотя бы одно из выражений равно True :
  • Xor — логическое исключающее ИЛИ. Вернет True , если выражения имеют разные значения и False — если одинаковые:
  • Eqv — логическая эквивалентность. Вернет True , если выражения имеют одинаковые значения и False — если разные:
  • Imp — логическая импликация. Вернет False , если первое выражение имеет значение True , а второе выражение — False , и True — в остальных случаях:

Перечислим операторы сравнения и логические операторы в порядке убывания приоритета:

  1. < , > , <= , >= , = , <> .
  2. Not — логическое отрицание.
  3. And — логическое И.
  4. Or — логическое ИЛИ.
  5. Xor — логическое исключающее ИЛИ.
  6. Eqv — логическая эквивалентность.
  7. Imp — логическая импликация.

Оператор ветвления If. Else

Оператор ветвления If. Else позволяет в зависимости от значения логического выражения выполнить отдельный фрагмент программы или, наоборот, не выполнять его. Оператор имеет два формата. Первый формат является однострочным:

Если <Логическое выражение> вернет значение True (истина), то выполняется <Выражение1> , а если False (ложь) — то <Выражение2> . Блока Else может не быть. Пример проверки числа, введенного пользователем:

Второй формат оператора If. Else является блочным:

Для примера напишем программу, которая проверяет, является ли введенное пользователем число четным или нет (листинг 4.1). После проверки выведем соответствующее сообщение. Чтобы упростить код проверку возможности преобразования введенного значения в число выполнять не будем.

Листинг 4.1. Проверка числа на четность

Оператор If. Else позволяет проверить сразу несколько условий. Рассмотрим это на примере (листинг 4.2).

Листинг 4.2. Проверка нескольких условий

Один условный оператор можно вложить в другой. В этом случае отступ вложенной инструкции следует сделать в два раза больше, чтобы это было видно (листинг 4.3).

Листинг 4.3. Вложенные инструкции

Оператор выбора Select

Оператор выбора Select имеет следующий формат:

В зависимости от значения параметра <Переменная или выражение> выполняется один из блоков Case , в котором указано это значение. Если ни одно из значений не описано в блоках Case , то выполняется блок Case Else (если он указан). В параметрах <Условие> можно указать:

  • конкретное значение или выражение, возвращающее значение — в этом случае производится проверка равенства со значением параметра <Переменная или выражение> :
  • диапазон значений — указывается значение в следующем формате:

Пример указания диапазона от 5 до 10 включительно:

  • ключевое слово Is и условие после него:

В одном операторе Case допустимо указание сразу нескольких условий через запятую:

Пример использования оператора Select приведен в листинге 4.4.

Листинг 4.4. Использование оператора Select

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

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

  • IIf(<Логическое выражение>, <Выражение1>, <Выражение2>) — если <Логическое выражение> вернет значение True (истина), то выполняется <Выражение1> , а если False (ложь) — то <Выражение2> . Функция возвращает результат выполнения одного из выражений. Пример:
  • Choose(<Индекс>, <Значение1>[, . , <ЗначениеN>]) — возвращает одно из заданных значений по указанному индексу. Если указан индекс 1, то возвращается первое значение из списка, если 2 — то второе значение и т.д. Функция возвращает значение Null , если индекс меньше 1 или больше числа значений в списке. Пример:
  • Switch() — возвращает значение, которое соответствует первому логическому выражению, вернувшему значение True . Если нет логического выражения, возвращающего истинное значение, то функция возвращает значение Null . Формат функции:

Если пользователь введет число 1 , то в окне Immediate отобразится значение "Один" , если число 2 — то значение "Два" , а если 3 — то значение "Три" . Любое другое целочисленное значение приведет к отображению значения Null , а попытка ввести не число станет причиной ошибки времени выполнения, так как функция CInt() не сможет преобразовать значение в число.

Статьи по Visual Basic for Applications (VBA)

Помощь сайту

Yandex-деньги: 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *