Бывают случаи, когда вы хотите выполнять разные задачи в зависимости от разных условий. Вы хотите проверить разные условия, если одно из них не выполняется. В этом сценарии мы используем операторы If ElseIf в VBA.

Синтаксис If ElseIf в VBA

If condition1 then

'Code to execute if condition1 is true

ElseIF Condition2 then

'Code to execute if condition2 is true

ElseIF Condition3 then

'Code to execute if condition3 is true

'--

'--

ElseIF ConditionN then

'Code to execute if conditionN is true

{Else}

'Optional Code if none of the condition is matched.

End If Sub

Поток управления в операторах If ElseIf

image

В операторе If ElseIf следующее условие проверяется только тогда, когда предыдущее условие не выполняется. Когда условие совпадает, код в этом блоке выполняется, и элемент управления выходит из блока If. Есть один блок Else, который не является обязательным. Он выполняется только в том случае, если ни одно из условий не выполнено. Если вы хотите что-то сделать, если ни одно из условий не соответствует, поместите этот код в блок Else.

Итак, хватит теорий. Приведем пример, чтобы переварить это.

Пример: выставление оценок с использованием операторов VBA If ElseIf

Здесь мы берем классический пример системы оценок. Мы хотим создать определяемую пользователем функцию GRADE, которая оценивает оценки в соответствии с нижеприведенными условиями:

Если оценки больше 80, оценка A. В противном случае, если оценки больше 60, оценка B. В противном случае, если оценки больше или равны 40, оценка C. Если оценки меньше 40, оценка F.

Вот код VBA:

Function GRADES(marks As Double)

If marks > 80 Then

GRADES = "A"

ElseIf marks > 60 Then

GRADES = "B"

ElseIf marks > 40 Then

GRADES = "C"

Else

GRADES = "F"

End If

End Function

Вышеупомянутая функция сначала проверяет, превышает ли предоставленное значение 80. Если это условие ложится на True, функция возвращает A и выходит из блока if. Если условие не найдено, выполняется проверка следующего условия ElseIF. Если ни одно из условий не является истинным, выполняется блок Else и возвращается Grade F.

image

Если ElseIf против вложенных Ifs

If Else If не является вложенным If, поскольку вложенное Ifs проверяет другое условие, когда предыдущее условие было найдено. Оператор Where is If ElseIf проверяет другое условие, если предыдущее условие не соответствует.

В If ElseIf, когда найдено одно условие, выполняется код в этом условии, и управление выходит из операторов If ElseIf. Где во вложенных Ifs, когда выполняется одно условие, проверяется другое условие. Элемент управления завершает работу, когда какое-либо условие ложно или все условия совпадают.

Так что да, ребята, это операторы If ElseIF в VBA. Надеюсь, это было вам полезно. Дайте мне знать, было ли это достаточно пояснительным в разделе комментариев ниже. Если у вас есть какие-либо сомнения или особые требования к формулам VBA или Excel, задайте их в разделе комментариев ниже.

Статьи по теме:

`link: / general-themes-in-vba-vba-select-case-alternate-of-multiple-if-else-if-applications [Оператор выбора варианта VBA:] условия для проверки. Они являются отличной заменой нескольких операторов If ElseIf.

link: / using-loops-using-loops-in-vba-in-microsoft-excel [Использование цикла в VBA в Microsoft Excel] | Циклы в VBA позволяют нам выполнять одну и ту же задачу снова и снова, не повторяя код. В Excel VBA существует 3 типа циклов.

link: / using-loops-for-loops-with-7-examples [7 примеров циклов For в Microsoft Excel VBA] | 7 примеров цикла for могут упростить вашу жизнь в области автоматизации. Начнем с простого цикла for.

Популярные статьи:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-вашу-продуктивность [50 комбинаций клавиш Excel для повышения вашей продуктивности] | Выполняйте свою задачу быстрее. Эти 50 ярлыков заставят вас работать в Excel еще быстрее.

link: / формулы-и-функции-введение-функции-vlookup [Функция ВПР в Excel] | Это одна из наиболее часто используемых и популярных функций Excel, которая используется для поиска значений из разных диапазонов и листов. link: / tips-countif-in-microsoft-excel [COUNTIF в Excel 2016] | Подсчитайте значения с условиями, используя эту удивительную функцию. Вам не нужно фильтровать данные для подсчета определенных значений.

Функция Countif важна для подготовки вашей приборной панели.

link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel] | Это еще одна важная функция приборной панели. Это поможет вам суммировать значения для конкретных условий.