Съдържание
В езиците за програмиране условните оператори се използват за извършване на набор от действия в зависимост от зададено условие. В тази статия ще ви покажем какво е 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 . надявам се, че тази статия е била много полезна за вас. Не се колебайте да питате, ако имате някакви въпроси по темата.