VBA If - Then - Else Statement в Excel (4 примера)

  • Споделя Това
Hugh West

В езиците за програмиране условните оператори се използват за извършване на набор от действия в зависимост от зададено условие. В тази статия ще ви покажем какво е If - Then - Else условно твърдение в VBA Excel е и как да го използвате.

Изтегляне на работна тетрадка

Можете да изтеглите безплатната учебна тетрадка на Excel от тук.

If-Then-Else във VBA.xlsm

Въведение в изявлението If - Then - Else във VBA

VBA If - Then - Else Условната декларация се използва главно за определяне на хода на изпълнение на условията. Ако условието е вярно, тогава се изпълнява определен набор от действия, а ако условието е невярно, тогава се изпълнява друг набор от действия.

  • Синтаксис
 Ако условие Тогава [твърдения] [В противен случай else_statements] 

Или,

 If условие Then [твърдения] [Else [else_statements]] End If 

Тук,

Аргумент Задължително/незадължително Описание
състояние Изисква се Числов израз или символен низ, който оценява дали изразът е Истински или Фалшив . Ако състояние е Null, то се счита за Фалшив .
изявления По избор Едноредова форма, която няма В противен случай Едно или повече твърдения трябва да бъдат разделени с двоеточие. състояние е Истински , след което се изпълнява това изявление.
else_statements По избор Извършват се едно или повече твърдения, ако няма предишни състояние е Истински .

4 примера за използване на VBA If - Then - Else Statement в Excel

В този раздел ще научите как да използвате If-Then-Else в VBA код с 4 примера.

1. Намиране на най-голямото число между две числа с изречението If - Then - Else

Ако имате две числа и искате да разберете кое от тях е по-голямо (или по-малко), можете да използвате If-Then-Else изявление в VBA .

Стъпки:

  • Натиснете Alt + F11 на клавиатурата или отидете в раздела Разработчик -> Visual Basic да отворите Редактор на Visual Basic .

  • В изскачащия прозорец с код, в лентата с менюта щракнете върху Вмъкване -> Модул .

  • Копирайте следния код и го поставете в прозореца за код.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "1-во число е по-голямо от 2-ро число" ElseIf Num2> Num1 Then MsgBox "2-ро число е по-голямо от 1-во число" Else MsgBox "1-во число и 2-ро число са равни" End If End Sub 

Вашият код вече е готов за изпълнение.

Тук сравняваме две числа 12345 и 12335 , за да се установи кое от тях е по-голямо. Този процес обикновено е идеален за намиране на големи числа в голяма съвкупност от данни.

  • Натиснете F5 на клавиатурата или от лентата с менюта изберете Run -> Run Sub/UserForm Можете също така просто да щракнете върху малка икона Play в лентата с подменюта, за да стартирате макроса.

Ще получите резултата в полето на Excel MsgBox

В нашия случай броят 12345 - съхранени в променлива Num1 - е по-голям от броя 12335 , Num2 . Така че MsgBox ни показва, че Първото число е по-голямо от второто число .

Прочетете още: Формула на Excel за генериране на случаен номер (5 примера)

2. Проверка на резултата на ученика с помощта на изявлението If - Then - Else във VBA

Можете да проверите дали даден ученик е издържал или не изпита с това изявление в VBA код.

Стъпки:

  • По същия начин, както преди, отворете Редактор на Visual Basic от Разработчик таб и Вмъкване на a Модул в прозореца с кода.
  • В прозореца за код копирайте следния код и го поставете.
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

Вашият код вече е готов за изпълнение.

Този код ще провери дали Cell D5 има стойност, която е по-голяма от 33 Ако това е така, ще се покаже един изход, а ако не е така, ще се покаже нещо друго.

  • Изпълнявайте макроса и ще получите резултата в съответствие с вашия код.

Погледнете горния набор от данни с резултата, Cell D5 притежава 95 което със сигурност е повече от 33 , поради което се показва Резултатът е Pass . Но ако стартираме кода за Cell D7 (22), тогава ще се покаже друго.

Прочетете още: Как да използваме VBA Case Statement (13 примера)

Подобни четива

  • Как да използвате функцията Log в Excel VBA (5 подходящи примера)
  • Използване на функцията VBA LTrim в Excel (4 примера)
  • Как да използвате функцията FileDateTime във VBA в Excel (3 приложения)
  • Използване на оператора VBA Mod (9 примера)
  • Функция VBA EXP в Excel (5 примера)

3. Актуализиране на коментарите в класацията на ученика с помощта на множество изявления If - Then - Else във VBA

Научихте се как да извличате информация за това дали даден ученик е преминал или не с един If-Then-Else но този път ще научите за Множество If-Then-Else със следния пример.

Ще стартираме VBA код за попълване на тези Коментар полета въз основа на множество условия.

Стъпки:

  • По същия начин, както преди, отворете Редактор на Visual Basic от Разработчик таб и Вмъкване на a Модул в прозореца с кода.
  • В прозореца за код копирайте следния код и го поставете.
 Sub UpdateComment() За всеки клас в Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Страхотна работа" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Продължавай" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Нуждае се от подобрение" Else grade.Offset(0, 1).Value = "Родителско-учителска среща" End If Next grade EndПод 

Вашият код вече е готов за изпълнение.

Този код ще отпечатва коментари в зависимост от оценката, получена от учениците.

  • Изпълнявайте този код и вижте следната картина, където полетата за коментари са попълнени със съответните резултати.

4. Изявление If-Then-Else за актуализиране на кардиналните посоки въз основа на код в Excel

Можете също така да използвате If-Then-Else да откриете кардиналните посоки въз основа на предоставения код на индикатора. Погледнете следващата картинка, на която ще открием посоките въз основа на инициалите, които са дадени.

Стъпки:

  • Отвори Редактор на Visual Basic от Разработчик таб и Вмъкване на a Модул в прозореца с кода.
  • В прозореца за код копирайте следния код и го поставете.
 Sub UpdateDir() За всеки iDirection в Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndПод 

Вашият код вече е готов за изпълнение.

  • Изпълнявайте този код и ще получите имената на посоките в съответните клетки.

Ако пък искате да намерите само една посока въз основа на код, можете да използвате кода по-долу.

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Този код ще вземе стойността от клетка B5 и връща резултата в съответствие с него в клетка C5 .

Например, ако напишете " N " в Cell B5 , тя ще ви даде " Северна ; ако напишете " S " в Cell B5 , тя ще ви покаже " Южна " в Cell C5 .

Заключение

Тази статия ви показа как да използвате If - Then - Else в Excel с VBA . надявам се, че тази статия е била много полезна за вас. Не се колебайте да питате, ако имате някакви въпроси по темата.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.