Как да използвам If Else Statement във VBA? (с примери)

Съдържание

Excel VBA IF Else Statement

В работния лист няма оператор IF Else и той може да се използва само в кода на VBA, докато работим в VBA, можем да предоставим условие, което е операторът If условие и ако е изпълнено определен набор от инструкции, то се изпълнява и условието не изпълнява инструкцията, след това се изпълнява инструкция else.

VBA не е различна, когато става въпрос за логически тестове. Работи по същия начин, както и в обикновените работни листове. От всички логически функции, функцията “IF” се използва най-вече от партидата. Използвайки IF, можем да проведем логически тест и да стигнем до решенията, ако логическият тест е изпълнен, а също и да вземем алтернативни решения, ако логическият тест не е удовлетворен.

По-долу е синтаксисът на условието IF Else.

IF Тогава Ако логическият тест е TRUE Else Ако логическият тест е FALSE End IF

Какво е VBA, ако тогава друго изявление?

След като предоставеният логически тест е FALSE, имаме нужда от алтернативна задача, която да изпълним като част от кода. Така че „IF ELSE“ означава, че ако логическият тест е FALSE, какво друго трябва да се направи.

За да разберем по-добре примера по-долу, предоставихме резултата като „10 е по-голямо“ само ако логическият тест е TRUE. И все пак, в ЛЪЖНИЯ логически резултат можем да предоставим алтернативния резултат като „10 е по-малко“.

Така че, след като се предоставят логическите тестове и ИСТИНСКИЯ код на частта се напише в следващия ред, въведете думата „ELSE“.

ELSE означава, че ако логическият тест не е TRUE, ние се нуждаем от резултата, тъй като „10 е по-малко“.

Код:

Под IF_Else_Example1 () Ако 10> 11 Тогава MsgBox "10 е по-голямо" Иначе MsgBox "10 е по-малко" End If End Sub

Сега нашият код дава поне някой от горните резултати. Изпълнете кода и вижте резултата.

Тъй като сме предоставили алтернативния резултат, ако логическият тест е FALSE, той е показал алтернативния резултат като „10 е по-малко“, тъй като 10 е по-малко от другия номер 11.

Пример

Например погледнете данните по-долу.

С тези данни трябва да стигнем до състоянието въз основа на „Разходите“ на всеки продукт. За да пристигнете статус по-долу са критериите.

Ако себестойността е> 50, състоянието трябва да бъде „ Скъпо “, или състоянието трябва да бъде „ Не е скъпо “.

Тук трябва да тестваме себестойността, т.е. логически да проверим дали себестойността е> 50 или не. Ако логическият тест е ИСТИНЕН, т.е. цената на себестойността е повече от 50, имаме нужда от статус „Скъп“, а ако логическият тест е FALSE, т.е. себестойността е по-малка от 50, имаме нужда от алтернативния резултат като "Нескъп."

Добре, нека сега напишем кода. Преди това копирайте и поставете горната таблица в работен лист на Excel.

Стъпка 1: Стартирайте подпроцедурата.

Sub IF_ELSE_Example2 () Край Sub

Стъпка 2: Декларирайте променливата като Integer тип данни.

Dim k As Integer

Стъпка 3: Тъй като трябва да тестваме повече от една клетка стойности, трябва да използваме FOR VBA LOOP, за да преминем през клетките и да приложим логиката за всички клетки.

Трябва да приложим логически тестове от 2-ри до 8 -ми ред, така че започнете FOR LOOP от 2 до 8.

Код:

За k = 2 до 8 Следващ k

Стъпка 4: В този цикъл трябва да изпълним логическия тест. Така че отворете оператора IF и изберете първата клетка, като използвате свойството CELLS.

Код:

Ако клетки (k, 2). Стойност> 50 Тогава

Тук клетки (k, 2) означава ред (стойност на k) и колона 2.

Стъпка 5: Ако тази стойност на клетката е> 50, имаме нужда от резултата като „Скъп“ в следващата клетка на колона. Така че кодът ще бъде -

Код:

Клетки (k, 3). Стойност = "Скъпи"

Стъпка 6: Ако тестът не е TRUE, ние се нуждаем от резултатите на ELSE, т.е. „Не е скъп“.

Код:

Под IF_ELSE_Example2 () Dim k Като цяло за k = 2 до 8 Ако клетки (k, 2). Стойност> 50 Тогава клетки (k, 3). Стойност = "Скъпи" Други клетки (k, 3). Стойност = "Не Скъп "End If Next k End Sub

Този код ще премине през цикли от 2- ри до 8-ми ред и ще получи резултата въз основа на себестойността.

По този начин можем да използваме If-Else, за да стигнем до алтернативни резултати.

Неща за запомняне

  • Изразът Else е за ЛЪЖЕН логически тест.
  • Ако искате да приложите повече от два логически теста в Excel, трябва да използваме израза ELSE IF.
  • В случай на изпълнение на задача за повече от една клетка, трябва да използваме цикли.
  • Ако изразът Else може да тества само един логически тест.

Интересни статии...