ВБА кућиште прекидача - Примери коришћења Екцел ВБА Изјаве о пребацивању

Кутија за пребацивање Екцел ВБА

Свитцх Цасе или Селецт Цасе је изјава доступна у ВБА за провођење логичких тестова тамо где делује као алтернатива изјави ИФ-ТХЕН у ВБА. Коришћењем кућишта прекидача можемо спровести више логичких тестова и долазити до резултата на основу више резултата.

Испод је синтакса наредбе Свитцх Цасе / Селецт Цасе.

Шифра:

Одаберите случај случаја 1 Вредност ако је случај 1 тест ТРУЕ случај 2 Вредност случај 2 тест је ТРУЕ Случај 3 Вредност случај 3 Тест је ТРУЕ Случај Елсе Валуе ако ниједан од горе наведених случајева ТРУЕ Енд Селецт

: Који је логички тест? Овде треба да уђемо у тест.

Случај 1, случај 2: У сваком случају морамо да тестирамо више логичких тестова у екцелу.

Како се користи изјава о случају пребацивања ВБА?

Пример # 1

У ћелију А1 сам унео вредност као 550.

Тестираћемо овај број помоћу наредби прекидача и доћи ћемо до статуса „Више од 500“ ако је вредност већа од 500, или ћемо доћи до статуса „Мање од 500“.

Прво отворите поступак ВБА Суб.

Шифра:

Суб Свитцх_Цасе () Крај Суб

Отворите Избор случаја у ВБА и наведите логички опсег теста („А2“). Вредност

Шифра:

Суб Свитцх_Цасе () Изаберите опсег случајева ("А2"). Вредност Крај Суб

Сада унесите први случај јер је Цасе> 500.

Шифра:

Суб Свитцх_Цасе () Изаберите опсег случаја ("А2"). Вредност случаја је> 500 Крај Суб

Ако је овај случај ИСТИНИТ, какав је резултат потребан у ћелији Б, 2, односно „Више од 500“.

Шифра:

Суб Свитцх_Цасе () Изаберите опсег случаја ("А2"). Вредност случаја је> 500 опсега ("Б2"). Валуе = "Више од 500" Крај Суб

Сада нам остаје само један резултат, тј. Изјава Цасе Елсе. Ако је први случај ФАЛСЕ, онда нам је потребан резултат „Мање од 500“.

Шифра:

Суб Свитцх_Цасе () Изаберите опсег случаја ("А2"). Вредност случаја је> 500 опсега ("Б2"). Валуе = "Више од 500" Другог опсега предмета ("Б2"). Валуе = "Мање од 500" Крај Суб

Сада затворите изјаву помоћу наредбе „Енд Селецт“.

Шифра:

Суб Свитцх_Цасе () Изаберите опсег случаја ("А2"). Вредност случаја је> 500 опсега ("Б2"). Валуе = "Више од 500" Другог опсега случаја ("Б2"). Валуе = "Мање од 500" Крај избора Енд Суб

Покрените код добићемо вредност у ћелији Б2.

Пошто је вредност у ћелији А2 већа од 500, добили смо резултат као „Више од 500“.

Пример # 2

Сада ћемо видети више примера случаја. Испод је оцена студента на испиту.

Са овом оценом морамо да стигнемо до оцене, јер су то доле критеријуми.

  • Оцена> = 85, оцена = “Дист”
  • Оцена> = 60, оцена = „Прва“
  • Оцена> = 50, оцена = „Друга“
  • Оцена> = 35, оцена = „Пролазно“
  • Ако било шта друго Оцена = „Неуспех.“

Шифра:

Суб Свитцх_Цасе1 ()

 Затамни оцену као целобројну оцену = 65 Изабери оцену случаја Случај је> = 85 МсгБок "Дист" Цасе Ис> = 60 МсгБок "Фирст" Цасе Ис = = 50 МсгБок "Сецонд" Цасе Ис = = 35 МсгБок "Пасс" Цасе Елсе МсгБок " Фаил "Енд Селецт Енд Суб

Покрените овај код. Оцену ћемо добити у оквиру за поруке.

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.
  • Ако ниједан логички тест није ИСТИНА, тада можете једноставно проследити алтернативни резултат у ЦАСЕ ЕЛСЕ изразу и увек затворити израз речју „ЕНД СЕЛЕЦТ“.

Занимљиви Чланци...