Excel VBA иначе если
VBA Else If позволяет анализировать условие и выполнять соответствующее действие. Условие IF проверяет, является ли предоставленное условие ИСТИННЫМ или ЛОЖНЫМ; если условие ИСТИННО, оно вернет присвоенное значение Value, если True, и вернет Value IF False, если результат равен FALSE.
Логика условия IF в обычной формуле Excel и формуле VBA одинакова. В этой статье я рассмотрю полное условие VBA IF.
Синтаксис оператора VBA If
Во-первых, посмотрите синтаксис оператора IF в VBA.
Это очень похоже на нашу функцию листа ЕСЛИ. Единственное отличие здесь заключается в том, что нам нужно поместить слово THEN для продвижения вперед в функции, также Else часть условия IF является необязательной, в отличие от нашего обычного условия IF, и мы должны упомянуть конец функции как End If .
На самом деле, будет еще один аргумент, если условия для проверки являются более чем одним условием, и эта часть называется инструкцией ELSE IF. Это похоже на наше вложенное условие IF в наших расчетах на листе. ELSE IF войдет в значение изображения, если условие FALSE, тогда нам нужно проверить больше условий с условием ELSE IF.
В этой статье мы увидим больше условий ELSE IF в практическом мире.
Как использовать VBA Else If Statement?
Давайте разберемся, как использовать VBA Else If Statement с некоторыми примерами.
Вы можете скачать этот шаблон VBA Else If Excel здесь - Шаблон VBA Else If ExcelПростое утверждение If - Пример № 1
Теперь теоретического объяснения достаточно, даже если вы ничего не поняли, не о чем беспокоиться. В практическом примере вы поймете логику.
Предположим, у вас есть значение в ячейке A2, и вы хотите проверить, является ли число больше 100 или нет. Если значение больше 100, тогда нам нужно значение в ячейке B2 как «Больше 100». Ниже код выполнит требуемую задачу.
Код:
Sub IF_Example1 () If Range ("A2"). Значение> 100, затем Range ("B2"). Value = "Больше чем 100" End If End Sub
Затем запустите этот код с помощью клавиши F5 или вручную, как показано на скриншоте. Тогда мы можем увидеть результат в ячейке B2.
Если вы измените значение в ячейке A2 на 99 и запустите код. Код ничего не вернет, потому что значение меньше 100, и мы не предоставили никакого результата, если тест равен FALSE, это мы увидим в следующем примере.
Если с другим заявлением - пример № 2
Мы видели, как работает одиночный IF с ИСТИННЫМ условием. Теперь посмотрим, как работать, если задано условие ЛОЖЬ.
В текущем коде после значения True в следующей строке указывается слово Else.
Код:
Sub IF_Example2 () If Range ("A2"). Значение> 100, затем Range ("B2"). Value = "Больше чем 100", иначе End If End Sub
А в следующей строке напишите код для False value.
Код:
Sub IF_Example2 () If Range («A2»). Значение> 100, затем Range («B2»). Value = «Более 100», остальной диапазон («B2»). Value = «менее 100» End If End Sub
Затем запустите этот код с помощью клавиши F5 или вручную, как показано на скриншоте. Если значение больше 100, результатом будет «Больше 100» в ячейке B2.
Если значение меньше 100, результат будет «Менее 100».
Вложенный оператор If с Else If - пример № 3
Когда мы хотим протестировать более одного условия, нам нужно использовать больше операторов IF внутри условия IF. Но в VBA нам нужно использовать слово ELSE IF для проверки более чем одного условия.
Например, в ячейке A2, если значение больше 200, нам нужен результат «Больше 200» в ячейке B1.
Если значение больше 100, нам нужен результат как «Более 100» в ячейке B2.
Если значение меньше 100, нам нужен результат «Менее 100» в ячейке B2.
Шаг 1: После того, как значение TRUE передано, введите слово ELSE IF в следующей строке.
Код:
Sub IF_Example3 () If Range («A2»). Значение> 200, затем Range («B2»). Value = «Больше 200» ElseIf Range («A2»). Value> 100, затем Range («B2»). Value = "Более 100" End If End Sub
Шаг 2: Поскольку мы уже проверили два аргумента, у нас осталось только одно условие. Теперь в следующей строке укажите окончательный результат теста с оператором ELSE.
Код:
Sub IF_Example3 () If Range («A2»). Значение> 200, затем Range («B2»). Value = «Больше 200» ElseIf Range («A2»). Value> 100, затем Range («B2»). Value = «Более 100» остального диапазона («B2»). Значение = «Менее 100» End If End Sub
Шаг 3: Затем запустите этот код, используя клавишу F5 или вручную, как показано на скриншоте, чтобы увидеть результаты.
Результат 1:
Результат 2:
Результат 3:
Nested If with Loop - Пример № 4
Это расширенный пример Nested IF с Loop. Предположим, у вас есть таблица продаж с данными за 12 месяцев.
В столбце статуса нам нужен следующий результат.
- Если объем продаж превышает 7000, то результат должен быть «Отлично»
- Если объем продаж превышает 6500, то результат должен быть «Очень хорошо»
- Если значение продаж превышает 6000, тогда результат должен быть «Хороший»
- Если объем продаж превышает 4000, то результат должен быть «Неплохо»
- Если все результаты ЛОЖЬ, то результат должен быть «Плохой»
Чтобы выполнить этот тест, нам нужен следующий код, который представляет собой комбинацию IF с ELSE IF и LOOP.
Код:
Sub IF_Example4 () Dim i As Integer i = 2 Для i = 2–13 If Cells (i, 2) .Value> = 7000 Тогда Cells (i, 3) .Value = "Excellent" ElseIf Cells (i, 2). Значение> = 6500 затем ячеек (i, 3) .Value = «Очень хорошо» ElseIf Cells (i, 2) .Value> = 6000 тогда ячеек (i, 3) .Value = «Good» ElseIf Cells (i, 2) .Value> = 4000 Тогда ячейки (i, 3) .Value = "Неплохо" Остальные ячейки (i, 3) .Value = "Плохо" End If Next i End Sub
Затем запустите этот код, используя клавишу F5 или вручную, как показано на скриншоте, чтобы увидеть результаты.
То, что нужно запомнить
- Для оператора ELSE IF требуется код результата в той же строке, а не в следующей строке, а также оператор THEN для перехода к следующему оператору.
- Если инструкция END IF не приложена, мы получим следующую ошибку.
- Оператор - не что иное, как оператор IF.
- Как и функция листа, мы также можем использовать оператор AND & OR в операторе IF.
Рекомендуемые статьи
Это руководство для VBA Else If Statement. Здесь мы обсудили VBA Else If и как использовать Excel VBA Else If, а также некоторые практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- Как использовать VBA Select Case?
- Как использовать функцию поиска VBA?
- Руководство по функции VBA TRIM
- Руководство и примеры к циклам VBA