Hvordan bruges Select Case Statement i VBA? (Eksempler)

Indholdsfortegnelse

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, kan vi muligvis bruge flere If-udsagn, og som kan være kedelige, da det bliver mere komplekst, da flere af Hvis-udsagnene leveres, i vælg sagsangivelse, vi definerer kriterierne som forskellige sager og resultater i henhold til dem.

SELECT CASE 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 den visual basic editor, der præsenteres under fanen udvikler.

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 testning (sag) Liste over udtrykserklæringer (sag 1, sag 2, sag 3 og så videre …) sag ellers (andet 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 datatyper så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 konstruktionsvalgets 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 oprettes 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 er det nødvendigt at oprette en makro ved at placere kommandoknappen i excel-arket.
  • Derefter skal du højreklikke på kommandoknappen og vælge indstillingen visningskode.
  • Placer koden mellem kommandoknapfunktionen og slutundersuben.
  • 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

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 underkopieeksempel () 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:

Nøgleordet 'Til' 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 en meddelelsesboks som vist i ovenstående skærmbillede.

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

Dette eksempel viser brugen af ​​'Is' nøgleordet med 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 kommandoknappen for at ændre værdierne

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

Kode:

Underfarve () Dim farve Som strengfarve = Område ("A1") Værdi Vælg Sagfarve Sag "Rød", "Grøn", "Gul" Område ("B1"). Værdi = 1 Sag "Hvid", "Sort "," Brown "Range (" B1 "). Værdi = 2 Case" Blue "," Sky Blue "Range (" B1 "). Value = 3 Case Other Range (" B1 "). Value = 4 End Vælg End Sub

Som vist i programmet hentes input fra cellerne i regnearket. Programmet udføres efter at have klikket på kommandoknappen, der bruges fra ActiveX-kontroller. I dette bruges en kommaudskiller til at kombinere testudtrykkene.

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 the 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 for 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 the best results.
  • VBA er skift mellem store og små bogstaver, og input skal indtastes nøjagtigt for at få bedre resultater.

Interessante artikler...