Hvordan bruges Select Case Statement i VBA? (Eksempler)

Excel VBA Select sagserklæring

Select Case er en erstatning for nedskrivning af flere, hvis udsagn i VBA, når vi har mange betingelser i en kode, skal vi muligvis bruge flere If-udsagn, og som kan være kedelige, da det bliver mere komplekst, da flere af Hvis-udsagnene gives, i vælg sagsangivelse, vi definerer kriterierne som forskellige sager og resultater i henhold til dem.

VÆLG SAG hjælper i beslutningsprocessen. I dette bruges kun et udtryk til at vurdere de forskellige mulige tilfælde. Flere forhold analyseres let for at udføre den udviklede kode. Denne sagserklæring bruges som en erstatning til ELSE IF for at vurdere udtryk. Det er klassificeret som en logisk funktion, der er indbygget i Excel. For at bruge denne funktion indtastes koden via Visual Basic Editor præsenteret under fanen Developer.

Forklaring

Forskellige grupper af udsagn bruges i Select Case. Følgende syntaks skal følges for at bruge dette effektivt. Det svarer til switch-erklæringen præsenteret på andre programmeringssprog som Java, C # og PHP.

 Vælg [Sag] udtryk til test [Sag] Liste over udtrykserklæringer (Sag 1, Sag 2, Sag 3 og så videre ...) Sag Elles (Ellers udsagn) Slut Vælg 

Forklaringen på de vilkår, der er knyttet til den valgte sag, gives som følger

Et udtryk til testning: Det er nødvendigt at vurdere de forskellige typer data som heltal, streng, boolsk, objekt og karakter.

Liste over udtryk:  Udtryk oprettes med sagen for at finde den nøjagtige matchning af det indtastede input. Hvis der er mere end to udtryk, adskilles disse ved hjælp af kommaoperatoren. 'Is' er et nøgleord, der bruges til at sammenligne de to udtryk ved hjælp af de logiske operatorer i excel som =,, =.

  • Afslut valg: Det lukker konstruktionsvælgerens sagsdefinition
  • Udtalelser: Udtalelser er udviklet ved hjælp af sagen til at køre de udtryk, der evalueres for at analysere, om der er nogen matchende sætning
  • Andre udsagn: Det er at teste den anden erklæring, når testudtrykket ikke stemmer overens med nogen sagsudsagn.

Hvordan bruges VBA Select sagserklæring?

Select case-funktionen leveret af VBA kører ikke i de normale regneark. Vi skal bruge Visual Basic-indstillingen under fanen Udvikler. Brugerdefinerede funktioner og kodning oprettet i udviklertilstand til at køre de forskellige små applikationer i forretningsområdet.

Det bruges i situationer, hvor der er indlejret, hvis udsagn udmærker sig. Det er den bedste mulighed for at håndtere en række sagserklæringer. For at bruge denne indstilling effektivt skal følgende opgaver udføres

  • Først og fremmest skal der oprettes en makro ved at placere kommandoknapkontrol i excel-arket.
  • Derefter skal du højreklikke på kommandoknappen og vælge indstilling for visningskode
  • Placer koden mellem kommandoknapfunktionen og slut sub
  • Fejlret koden for at identificere eventuelle syntaksfejl.
  • Kompilér koden for at finde kompileringsfejl til at udføre programmet med succes
  • Skift inputværdierne for at observere forskellige resultater baseret på matchende kriterier
Du kan downloade denne VBA Select Case Excel-skabelon her - VBA Select Case Excel-skabelon

Eksempel # 1 - Simple Select Case Statement

Dette eksempel er at forstå den simple vælg sag for at finde den matchede værdi.

Kode:

Privat underudvalg Eksempel () Dim A som heltal A = 20 Vælg sag A sag 10 MsgBox "Første sag matches!" Sag 20 MsgBox "Den anden sag matches!" Sag 30 MsgBox "Tredje sag matches i Vælg sag!" Sag 40 MsgBox "Fjerde sag matches i Vælg sag!" Case Else MsgBox "Ingen af ​​sagerne matches!" Afslut Vælg Afslut sub

Resultat:

Fire case statement og case else statement bruges til at sammenligne testudtrykket med forskellige cases. I det nuværende eksempel matches det andet tilfælde som variabel A matcher med 20.

Eksempel # 2 - 'Til' nøgleord til test af karakterer

Dette eksempel forklarer brugen af ​​'Til' nøgleordet med den valgte sag.

Kode:

Privat Sub Selcasetoexample () Dim studentmarks Som Integer studentmarks = InputBox ("Indtast markeringer mellem 1 til 100?") Vælg Case studentmarksmærker Case 1 til 36 MsgBox "Fail!" Sag 37 til 55 MsgBox "C klasse" Sag 56 til 80 MsgBox "B klasse" Sag 81 til 100 MsgBox "A klasse" sag ellers MsgBox "uden for rækkevidde" Slut Vælg slut sub

Resultat:

'Til' nøgleordet er nyttigt til at definere sæt testudtryk i et interval. Det er nyttigt at finde karakteren opnået af en studerende ved at sammenligne de forskellige tilfælde. Efter at have kørt programmet skal vi indtaste værdien for at få resultatet.

Outputtet vises med et meddelelsesfelt som vist i ovenstående skærmbillede.

Eksempel # 3 - Brug af 'Is' nøgleord med Select Case

Dette eksempel viser brugen af ​​'Is' nøgleord i den valgte sag.

Kode:

 Sub CheckNumber () Dim NumInput As Ingerger NumInput = InputBox ("Indtast venligst et nummer") Vælg Case NumInput Case Is = 200 MsgBox "Du indtastede et tal større end eller lig med 200" End Select End Sub 

'Is' nøgleord hjælper med at finde de matchede værdier med kun sagsangivelser. Det sammenligner testudtryk med givet input for at producere output.

Outputtet opnås som vist i figuren, hvis den indtastede værdi er mere end 200

Eksempel # 4 - Med kommandoknap for at ændre værdier

Den valgte sag bruges også med kommandoknappen ved at oprette en makro.

Kode:

 Sub color() Dim color As String color = Range("A1").Value Select Case color Case "Red", "Green", "Yellow" Range("B1").Value = 1 Case "White", "Black", "Brown" Range("B1").Value = 2 Case "Blue", "Sky Blue" Range("B1").Value = 3 Case Else Range("B1").Value = 4 End Select End Sub 

As shown in the program, the input is taken from the cells of the worksheet. The program is executed after clicking on the command button used from ActiveX controls. In this, a comma separator is used to combine the test expressions.

When the value in the Cell A1 changed, it results in a change in the B1 cell also by running the excel macro through the command button. You can refer to the screenshot given below:-

Example #5 – Check a Number Odd or Even

This example to help to check a number is even or odd.

Code:

 Sub CheckOddEven() CheckValue = InputBox("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "The number is even" Case False MsgBox "The number is odd" End Select End Sub 

The coding is developed as shown in the screenshot and output is displayed as follows when even number is entered.

Example #6 – Nested Select Case Statements

Nesting is a useful feature of the select case and the way how it is done is shown.

Code:

 Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.