VBA Select Case

Excel VBA Select Case Statement

Select Case är en ersättning för att skriva ner flera om uttalanden i VBA, när vi har många villkor i en kod kan vi behöva använda flera If-uttalanden och som kan vara tråkiga eftersom det blir mer komplicerat eftersom fler av If-uttalandena tillhandahålls, i välj falluttalande definierar vi kriterierna som olika fall och resultat enligt dem.

SELECT CASE hjälper till i beslutsprocessen. I detta används endast ett uttryck för att bedöma de olika möjliga fallen. Flera villkor analyseras enkelt för att utföra den utvecklade koden. Detta ärende används som ett ersättningsuttalande till ELSE IF för att bedöma uttryck. Det klassificeras som en logisk funktion som är inbyggd i Excel. För att använda denna funktion matas koden in via Visual Basic Editor som visas under fliken Developer.

Förklaring

Olika grupper av uttalanden används i Select Case. Följande syntax bör följas för att använda detta effektivt. Det liknar switch-uttalandet som presenteras på andra programmeringsspråk som Java, C # och PHP.

 Välj [Fall] Uttryck för testning [Fall] Lista över uttrycksuttalanden (Fall 1, Fall 2, Fall 3 och så vidare ...) Fall annars (Annat uttalanden) Slut Välj 

Förklaringen till termerna associerade med det valda fallet ges enligt följande

Ett uttryck för testning: Det krävs att bedöma de olika typerna av data som heltal, sträng, booleskt, objekt och karaktär.

Lista över uttryck:  Uttryck skapas med fallet för att hitta den exakta matchningen av den inmatade inmatningen. Om mer än två uttryck separeras dessa med hjälp av kommaoperatören. 'Is' är ett nyckelord som används för att jämföra de två uttrycken med hjälp av de logiska operatorerna i excel som =,, =.

  • Slutval: Det stänger definitionen av konstruktionsval
  • Uttalanden: Uttalanden utvecklas med hjälp av fallet för att köra de uttryck som utvärderas för att analysera om det finns något matchande uttalande
  • Annat uttalanden: Det är att testa det andra uttalandet när testuttrycket inte matchar några falluttalanden.

Hur använder jag VBA Select Case Statement?

Select case-funktionen som tillhandahålls av VBA körs inte i vanliga kalkylblad. Vi måste använda Visual Basic-alternativet under fliken Developer. Användardefinierade funktioner och kodning skapad i utvecklarläget för att köra olika små applikationer i affärsområdet.

Det används i situationer där det är kapslat om uttalanden är utmärkta. Det är det bästa alternativet för att hantera en mängd olika fall. För att använda detta alternativ effektivt bör följande uppgifter utföras

  • Först och främst måste skapa ett makro genom att placera kommandoknappskontroll i excel-arket.
  • Efter det högerklicka på kommandoknappen och välj alternativet Visa kod
  • Placera koden mellan kommandoknappens funktion och avsluta sub
  • Felsöka koden för att identifiera eventuella syntaxfel.
  • Kompilera koden för att hitta kompileringsfel för att framgångsrikt köra programmet
  • Ändra ingångsvärdena för att observera olika resultat baserat på matchningskriterierna
Du kan ladda ner denna VBA Select Case Excel-mall här - VBA Select Case Excel-mall

Exempel # 1 - Enkelt val av fall

Detta exempel är att förstå det enkla selectfallet för att hitta det matchade värdet.

Koda:

Privat Sub Selcaseexmample () Dim A som heltal A = 20 Välj fall A fall 10 MsgBox "Första fallet matchas!" Fall 20 MsgBox "Det andra ärendet matchas!" Fall 30 MsgBox "Tredje ärendet matchas i Välj fall!" Fall 40 MsgBox "Fjärde fallet matchas i Select Case!" Fall Annat MsgBox "Inget av ärendet matchas!" Avsluta Välj Avsluta

Resultat:

Fyra uttalanden och andra fall används för att jämföra testuttrycket med olika fall. I det aktuella exemplet matchas det andra fallet som variabel A matchar med 20.

Exempel # 2 - 'Till' nyckelord för att testa betyg

I det här exemplet förklaras användningen av nyckelordet 'Till' med det valda fallet.

Koda:

Privat Sub Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ("Enter marks between 1 to 100?") Välj Case studentmarks Fall 1 till 36 MsgBox "Misslyckas!" Fall 37 till 55 MsgBox "C-klass" Fodral 56 till 80 MsgBox "B-klass" Fodral 81 till 100 MsgBox "A-klass" Fodral MsgBox "utom räckhåll" Slut Välj slut Sub

Resultat:

Nyckelordet 'Till' hjälper till att definiera uppsättningen testuttryck i ett intervall. Det är bra att hitta betyg som en student får genom att jämföra de olika fallen. Efter att ha kört programmet måste vi ange värdet för att få resultatet.

Utdata visas med en meddelanderuta som visas i ovanstående skärmdump.

Exempel # 3 - Använda 'Is' nyckelord med Select Case

Detta exempel visar användningen av nyckelordet "Is" i det valda fallet.

Koda:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Vänligen ange ett nummer") Välj Case NumInput Case Is = 200 MsgBox "Du har angett ett nummer som är större än eller lika med 200" End Select End Sub 

Nyckelordet "Is" hjälper till att hitta matchade värden med endast falluttalanden. Det jämför testuttryck med given ingång för att producera utdata.

Utgången erhålls som visas i figuren om det inmatade värdet är mer än 200

Exempel # 4 - Med kommandoknappen för att ändra värden

Valt fall används också med kommandoknappen genom att skapa ett makro.

Koda:

 Underfärg () Dimfärg Som strängfärg = Område ("A1") Värde Välj Fallfodral "Röd", "Grön", "Gul" Område ("B1"). Värde = 1 Fodral "Vit", "Svart "," Brown "Range (" B1 "). Värde = 2 fall" Blue "," Sky Blue "Range (" B1 "). Value = 3 Case Other Range (" B1 "). Value = 4 Slut Välj End Sub 

Som visas i programmet tas inmatningen från cellerna i kalkylbladet. Programmet körs efter att du har klickat på kommandoknappen som används från ActiveX-kontroller. I detta används en kommaseparator för att kombinera testuttrycken.

När värdet i Cell A1 ändrades resulterar det i en förändring i B1-cellen också genom att köra excel-makrot genom kommandoknappen. Du kan hänvisa till skärmdumpen nedan: -

Exempel # 5 - Kontrollera ett tal som är udda eller jämnt

Detta exempel för att hjälpa till att kontrollera ett nummer är jämnt eller udda.

Koda:

 Sub CheckOddEven () CheckValue = InputBox ("Enter the Number") Välj Case (CheckValue Mod 2) = 0 Case True MsgBox "Siffran är jämn" Case False MsgBox "Siffran är udda" Slut Välj End Sub 

Kodningen utvecklas som visas på skärmdumpen och utdata visas på följande sätt när ett jämnt antal anges.

Exempel # 6 - Nested Select Case Statements

Nestning är en användbar funktion i det valda fallet och hur det görs visas.

Koda:

 UndertestVeckodag () Välj fall veckodag (nu) Fall 1, 7 Välj fall veckodag (nu) Fall 1 MsgBox "Idag är söndag" Fall Annat MsgBox "Idag är lördag" Slut Välj fall annars MsgBox "Idag är en vardag" Slut Välj slut 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.