Кутия за превключване на VBA - Примери за използване на изявление за превключване на Excel VBA

Кутия за превключване на Excel VBA

Switch Case или Select Case е изявление, налично във VBA за провеждане на логически тестове, когато работи като алтернатива на изявлението IF-THEN във VBA. Използвайки Switch Case, можем да проведем множество логически тестове и да получим резултати въз основа на множество резултати.

По-долу е синтаксисът на изявлението Switch Case / Select Case.

Код:

Изберете Case Case Value 1, ако Case 1 Test е TRUE Case 2 Value, ако Case 2 Test е TRUE Case 3 Value, ако Case 3 Test е TRUE Case Else Value, ако нито един от горните случаи не е TRUE End Select

: Какъв е логическият тест? Трябва да влезем в теста тук.

Случай 1, случай 2: Във всеки случай трябва да тестваме множество логически тестове в Excel.

Как да използвам декларация за случай на превключване на VBA?

Пример # 1

В клетка А1 въведох стойността като 550.

Ще тестваме този номер, като използваме оператори за превключване на случая и ще достигнем до статус „Повече от 500“, ако стойността е по-голяма от 500, или в противен случай ще достигнем до състоянието като „По-малко от 500“.

Първо отворете процедурата VBA Sub.

Код:

Sub Switch_Case () Край Sub

Отворете Select Case Case в VBA и предоставете логическия диапазон на теста („A2“). Стойност

Код:

Sub Switch_Case () Изберете диапазон на случаите ("A2"). Стойност Край Sub

Сега въведете първия случай, тъй като Case е> 500.

Код:

Sub Switch_Case () Изберете диапазон на случаите ("A2"). Стойността Case е> 500 End Sub

Ако този случай е ИСТИНСКИ, тогава какъв е резултатът, от който се нуждаем в клетка B, 2, т.е. „Повече от 500“.

Код:

Sub Switch_Case () Изберете диапазон на случая ("A2"). Стойността Case е> 500 Range ("B2"). Value = "Повече от 500" End Sub

Сега ни остава само един резултат, т.е. изявлението Case Else. Ако първото дело е НЕВЯРНО, тогава се нуждаем от резултата като „По-малко от 500“.

Код:

Sub Switch_Case () Изберете обхват на случая ("A2"). Стойността Case е> 500 диапазона ("B2"). Value = "Повече от 500" Друг диапазон на случая ("B2"). Value = "По-малко от 500" End Sub

Сега затворете извлечението, като използвате изречението „End Select“.

Код:

Sub Switch_Case () Изберете диапазон на случая ("A2"). Стойността Case е> 500 Range ("B2"). Value = "Повече от 500" Друг диапазон на Case ("B2"). Value = "По-малко от 500" End Select Крайна под

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

Тъй като стойността в клетка А2 е по-голяма от 500, получихме резултата като „Повече от 500“.

Пример # 2

Сега ще видим да използваме още примери за случаи. По-долу е даден резултатът на студента от изпита.

С този резултат трябва да стигнем до степен, тъй като това по-долу е критериите.

  • Резултат> = 85, степен = "Разстояние"
  • Резултат> = 60, оценка = „Първо“
  • Резултат> = 50, оценка = „Втора“
  • Резултат> = 35, оценка = "Пропуск"
  • Ако нещо друго Клас = "Неуспех."

Код:

Sub Switch_Case1 ()

 Затъмняване на резултата като цяло число = 65 Избор на оценка на случая Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is = = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Fail "End Select End Sub

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

Since the score is more than 60 but less than 85 grade is “First.”

Example #3

We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.

Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.

Code:

Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub

Run this code. We will get grades.

Things to Remember

  • Switch Case is often referred to as “Select Case.”
  • The switch is a function, not a statement.
  • Ако никакви логически тестове не са TRUE, тогава можете просто да предадете алтернативния резултат в оператора CASE ELSE и винаги да затваряте израза с думата “END SELECT”.

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