Hvordan bruke Select Case Statement i VBA? (Eksempler)

Innholdsfortegnelse

Excel VBA Select Case Statement

Select Case er en erstatning for å skrive ned flere hvis uttalelser i VBA, når vi har mange betingelser i en kode, kan det hende vi må bruke flere If-setninger og som kan være kjedelige ettersom det blir mer komplekst ettersom flere av If-setningene er gitt, i velg saksuttalelse definerer vi kriteriene som forskjellige tilfeller og resultater i henhold til dem.

SELECT CASE hjelper i beslutningsprosessen. I dette brukes bare ett uttrykk for å vurdere de forskjellige mulige tilfellene. Flere forhold analyseres enkelt for å utføre den utviklede koden. Denne saksuttalelsen brukes som en erstatningsuttalelse til ELSE IF for å vurdere uttrykk. Det er klassifisert som en logisk funksjon som er innebygd i Excel. For å bruke denne funksjonen legges koden inn via den visuelle grunnleggende redigereren som presenteres under utviklerfanen.

Forklaring

Ulike utsagnsgrupper brukes i Select Case. Følgende syntaks bør følges for å bruke dette effektivt. Det ligner på bryteruttalelsen som presenteres i andre programmeringsspråk som Java, C # og PHP.

Velg (Case) uttrykk for testing (Case) Liste over uttrykk uttalelser (Case 1, Case 2, Case 3 og så videre …) Case Else (Else Statements) Slutt Velg

Forklaringen på vilkårene knyttet til den valgte saken er gitt som følger.

Et uttrykk for testing: Det er nødvendig å vurdere de forskjellige typene data som heltall, streng, boolsk, objekt og karakter.

Liste over uttrykk: Uttrykk opprettes med saken for å finne den nøyaktige samsvaren med inngangen. Hvis mer enn to uttrykk, skilles disse ved hjelp av kommaoperatøren. 'Er' er et nøkkelord som brukes til å sammenligne de to uttrykkene ved hjelp av de logiske operatorene i excel som =,, =.

  • Sluttvalg: Den lukker saksdefinisjonen for konstruktørvalg
  • Uttalelser: Uttalelser er utviklet ved bruk av saken for å kjøre uttrykkene som evalueres for å analysere om det er noen samsvarende påstand
  • Andre utsagn: Det er å teste den andre uttalelsen når testuttrykket ikke samsvarer med noen saksuttrykk.

Hvordan bruker jeg VBA Select Case Statement?

Select case-funksjonen fra VBA kjører ikke i de vanlige regnearkene. Vi må bruke Visual Basic-alternativet under kategorien Utvikler. Brukerdefinerte funksjoner og koding opprettes i utviklermodus for å kjøre de forskjellige små applikasjonene i forretningsfeltet.

Den brukes i situasjoner når det er nestet hvis uttalelser utmerker seg. Det er det beste alternativet for å håndtere en rekke saksuttalelser. For å bruke dette alternativet effektivt, bør følgende oppgaver utføres.

  • Først og fremst må den lage en makro ved å plassere kommandoknappkontrollen i excel-arket.
  • Høyreklikk deretter på kommandoknappen og velg alternativet for visningskode.
  • Plasser koden mellom kommandoknappfunksjonen og sluttsuben.
  • Feilsøk koden for å identifisere syntaksfeil.
  • Kompiler koden for å finne kompileringsfeil for å kunne kjøre programmet
  • Endre inngangsverdiene for å observere forskjellige resultater basert på samsvarskriteriene

Eksempel nr. 1 - Simple Select Case Statement

Dette eksemplet er å forstå det enkle select-tilfellet for å finne den matchede verdien.

Kode:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Velg Case A Case 10 MsgBox "First Case is matched!" Sak 20 MsgBox "Den andre saken er matchet!" Sak 30 MsgBox "Tredje sak matches i Velg sak!" Sak 40 MsgBox "Fjerde sak matches i Velg sak!" Case Else MsgBox "Ingen av saken samsvarer!" End Velg End Sub

Resultat:

Fire saksuttalelser og saksdommer er brukt for å sammenligne testuttrykket med forskjellige saker. I det foreliggende eksempel blir det andre tilfellet matchet som variabel A samsvarer med 20.

Eksempel 2 - 'Til' nøkkelord for å teste karakterene

Dette eksemplet forklarer bruken av 'Til' nøkkelordet med det valgte tilfellet.

Kode:

Private Sub Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ("Enter marks between 1 to 100?") Velg Case studentmarks Case 1 til 36 MsgBox "Mislykkes!" Sak 37 til 55 MsgBox "C-klasse" Sak 56 til 80 MsgBox "B-klasse" Sak 81 til 100 MsgBox "A klasse" Sak annet MsgBox "utenfor rekkevidde" Slutt Velg slutt Under

Resultat:

Nøkkelordet 'Til' hjelper deg å definere settet med testuttrykk i et område. Det er nyttig å finne karakteren en student oppnår ved å sammenligne de forskjellige sakene. Etter å ha kjørt programmet, må vi angi verdien for å få resultatet.

Utgangen vises med en meldingsboks, som vist i skjermbildet ovenfor.

Eksempel 3 - Bruk av 'Is' nøkkelord med Select Case

Dette eksemplet viser bruken av 'Is' nøkkelordet med det valgte tilfellet.

Kode:

Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Please enter a number") Velg Case NumInput Case Is = 200 MsgBox "Du skrev inn et tall større enn eller lik 200" End Select End Sub

'Is' nøkkelord hjelper deg med å finne samsvarende verdier med bare saksuttalelser. Den sammenligner testuttrykk med gitt input for å produsere output.

Utdataene oppnås som vist i figuren hvis den angitte verdien er mer enn 200

Eksempel 4 - Med kommandoknapp for å endre verdiene

Det valgte tilfellet brukes også med Kommando-knappen ved å lage en makro.

Kode:

Underfarge () Dim farge Som strengfarge = Område ("A1") Verdi Velg Sakfarge Sak "rød", "grønn", "gul" rekkevidde ("B1"). Verdi = 1 sak "hvit", "svart "," Brown "Range (" B1 "). Verdi = 2 Tilfelle" Blue "," Sky Blue "Range (" B1 "). Value = 3 Case Case Other Range (" B1 "). Value = 4 End Select End Sub

Som vist i programmet, blir innspillene hentet fra cellene i regnearket. Programmet kjøres etter å ha klikket på kommandoknappen som brukes fra ActiveX-kontroller. I dette brukes en kommaseparator for å kombinere testuttrykkene.

Når verdien i celle A1 endret seg, resulterer det i en endring i B1-cellen også ved å kjøre excel-makroen gjennom kommandoknappen. Du kan se skjermbildet nedenfor: -

Eksempel nr. 5 - Sjekk et tall oddetall eller partall

Dette eksemplet for å kontrollere et nummer er jevnt eller rart.

Kode:

Sub CheckOddEven () CheckValue = InputBox ("Enter the Number") Velg Case (CheckValue Mod 2) = 0 Case True MsgBox "Tallet er jevnt" Case False MsgBox "Tallet er oddetall" End Select End Sub

Kodingen er utviklet, som vist på skjermbildet, og utdata vises som følger når til og med tallet er angitt.

Eksempel 6 - Nested Select Case Statements

Nesting er en nyttig funksjon i det valgte tilfellet, og hvordan måten det gjøres på vises.

Kode:

Sub TestWeekday () Velg sak ukedag (nå) Sak 1, 7 Velg sak ukedag (nå) Sak 1 MsgBox "I dag er søndag" Sak Else MsgBox "I dag er lørdag" Slutt Velg sak Annet MsgBox "I dag er en ukedag" Slutt Velg slutt Under

Her er den valgte saken definert i en annen valgt sak for å teste en dag, ukedag eller helg. Med unntak av tilfelle 1 og 7 er alle hverdager (Merk: sak 1 er søndag og sak 7 er lørdag)

Ting å huske

  • 'Er' nøkkelordet som brukes i uttalelsen til (case) og (case else) er ikke like.
  • ActiveX-kontroll bør brukes til å utføre program gjennom en kommandoknapp som tar input og viser utdata i excel-arkområdet.
  • Det er vanskelig å kjøre programmene i VBA hvis makroer er deaktivert og alltid gjør det mulig for makroer å få de beste resultatene.
  • VBA er skiller mellom store og små bokstaver, og input bør legges inn nøyaktig for å få bedre resultater.

Interessante artikler...