Hur använder jag Select Case Statement i VBA? (Exempel)

Innehållsförteckning

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 falluttalande 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 den här funktionen matas in koden via den visuella grundredigeraren som presenteras under fliken utvecklare.

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 växlingsuttalandet som presenteras i 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 Annat (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 för 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 skapas i utvecklarläget för att köra de olika små applikationerna i affärsområdet.

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

  • Först och främst måste det skapa ett makro genom att placera kommandoknappskontrollen i excel-arket.
  • Därefter högerklickar du på kommandoknappen och väljer alternativet för visningskod.
  • Placera koden mellan kommandoknappens funktion och slutet under.
  • Felsöka koden för att identifiera eventuella syntaxfel.
  • Kompilera koden för att hitta kompileringsfel för att lyckas köra programmet
  • Ändra ingångsvärdena för att observera olika resultat baserat på matchningskriterierna

Exempel # 1 - Enkelt val av fall

Det här exemplet ä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 Select Case!" Fall 40 MsgBox "Fjärde fallet matchas i Select Case!" Fall Annat MsgBox "Inget av ärendet matchas!" Slut 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 meddelandefält, som visas i skärmdumpen ovan.

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

Det här exemplet visar användningen av nyckelordet 'Is' med det valda fallet.

Koda:

Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Please enter a number") 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 'är' 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

Det valda fallet 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 Färg på fodral Fall "röd", "grön", "gul" intervall ("B1"). Värde = 1 fall "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 ändras resulterar det i en förändring av 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

Det här exemplet 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 enligt följande när även numret anges.

Exempel # 6 - Nested Select Case Statements

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

Koda:

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 är skiftlägeskänslig och input bör anges korrekt för att få bättre resultat.

Intressanta artiklar...