Hoe Select Case Statement in VBA te gebruiken? (Voorbeelden)

Excel VBA Select Case Statement

Select Case is een vervanging voor het opschrijven van meerdere if-statements in VBA, als we veel voorwaarden in een code hebben, moeten we mogelijk meerdere If-statements gebruiken en dit kan vervelend zijn omdat het complexer wordt naarmate er meer If-statements worden verstrekt in select case statement we definiëren de criteria als verschillende cases en resultaten volgens hen.

SELECT CASE helpt bij het besluitvormingsproces. Hierin wordt slechts één uitdrukking gebruikt om de verschillende mogelijke gevallen te beoordelen. Meerdere voorwaarden worden eenvoudig geanalyseerd om de ontwikkelde code uit te voeren. Deze case-instructie wordt gebruikt als een vervangende instructie voor ELSE IF om uitdrukkingen te beoordelen. Het is geclassificeerd als een logische functie die is ingebouwd in Excel. Om deze functie te gebruiken, wordt de code ingevoerd via de visuele basiseditor die wordt gepresenteerd onder het tabblad ontwikkelaars.

Uitleg

In de Select Case worden verschillende groepen uitspraken gebruikt. De volgende syntaxis moet worden gevolgd om dit effectief te gebruiken. Het is vergelijkbaar met de instructie switch die wordt gepresenteerd in andere programmeertalen, zoals Java, C # en PHP.

Selecteer (Case) Expressie voor testen (Case) Lijst met Expression statements (Case 1, Case 2, Case 3 enzovoort …) Case Else (Else Statements) End Select

De uitleg voor de termen die verband houden met de geselecteerde casus wordt als volgt gegeven.

Een uitdrukking voor testen: het is vereist om de verschillende soorten gegevens te beoordelen, zoals integer, string, boolean, object en teken.

Lijst met uitdrukkingen: uitdrukkingen worden gemaakt met de hoofdletter om de exacte overeenkomst van de ingevoerde invoer te vinden. Als er meer dan twee uitdrukkingen zijn, worden deze gescheiden met de komma-operator. 'Is' is een trefwoord dat wordt gebruikt bij het vergelijken van de twee uitdrukkingen met behulp van de logische operatoren in Excel, zoals =,, =.

  • End Select: Het sluit de constructor select case-definitie
  • Verklaringen: verklaringen worden ontwikkeld met behulp van de case om de uitdrukkingen uit te voeren die worden geëvalueerd om te analyseren of er een overeenkomende verklaring is
  • Else-verklaringen: het is om de else-instructie te testen wanneer de testing-uitdrukking niet overeenkomt met een case-instructie.

Hoe gebruik je de VBA Select Case Statement?

De select case-functie van de VBA werkt niet in de normale werkbladen. We moeten de Visual Basic-optie gebruiken op het tabblad Ontwikkelaar. Door de gebruiker gedefinieerde functies en codering worden gemaakt in de ontwikkelaarsmodus om de verschillende kleine applicaties op zakelijk gebied uit te voeren.

Het wordt gebruikt in situaties waarin er geneste if-statements in Excel zijn. Het is de beste optie om verschillende case-statements te behandelen. Om deze optie effectief te gebruiken, moeten de volgende taken worden uitgevoerd.

  • Allereerst moet het een macro maken door de opdrachtknopbesturing in het Excel-blad te plaatsen.
  • Klik daarna met de rechtermuisknop op de opdrachtknop en selecteer de optie weergavecode.
  • Plaats de code tussen de opdrachtknopfunctie en de einde sub.
  • Fouten in de code om eventuele syntaxisfouten te identificeren.
  • Compileer de code om compilatiefouten te vinden om het programma met succes uit te voeren
  • Wijzig de invoerwaarden om verschillende resultaten te observeren op basis van de overeenkomende criteria

Voorbeeld # 1 - Simple Select Case Statement

Dit voorbeeld is bedoeld om het simpele selectiegeval te begrijpen om de overeenkomende waarde te vinden.

Code:

Private Sub Selcaseexmample () Dim A als geheel getal A = 20 Selecteer Case A Case 10 MsgBox "Eerste Case komt overeen!" Case 20 MsgBox "The Second Case is matched!" Case 30 MsgBox "Derde case komt overeen in geselecteerde case!" Case 40 MsgBox "Vierde case komt overeen in geselecteerde case!" Case Else MsgBox "Geen van de Case komt overeen!" End Selecteer End Sub

Resultaat:

De instructie vier case en case else wordt gebruikt om de testuitdrukking met verschillende cases te vergelijken. In het huidige voorbeeld wordt het tweede geval gematcht omdat variabele A overeenkomt met 20.

Voorbeeld # 2 - Sleutelwoord 'To' om de cijfers te testen

In dit voorbeeld wordt het gebruik van het trefwoord 'Aan' met het geselecteerde hoofdlettergebruik uitgelegd.

Code:

Private Sub Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ("Voer cijfers in tussen 1 en 100?") Selecteer Case studentmarks Case 1 tot 36 MsgBox "Fail!" Case 37 tot 55 MsgBox "C Grade" Case 56 tot 80 MsgBox "B Grade" Case 81 tot 100 MsgBox "A Grade" Case Else MsgBox "Out of range" End Select End Sub

Resultaat:

Het sleutelwoord 'Aan' is handig bij het definiëren van de set testuitdrukkingen in een bereik. Het is handig om het cijfer te vinden dat een student heeft behaald door de verschillende cases te vergelijken. Nadat we het programma hebben uitgevoerd, moeten we de waarde invoeren om het resultaat te krijgen.

De uitvoer wordt weergegeven met een berichtvenster, zoals weergegeven in de bovenstaande schermafbeelding.

Voorbeeld # 3 - Het trefwoord 'Is' gebruiken met een bepaalde case

Dit voorbeeld demonstreert het gebruik van het trefwoord 'Is' met de geselecteerde case.

Code:

Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Please enter a number") Selecteer Case NumInput Case Is = 200 MsgBox "U hebt een getal ingevoerd groter dan of gelijk aan 200" End Select End Sub

Het 'Is'-trefwoord helpt om de overeenkomende waarden te vinden met alleen case-statements. Het vergelijkt de testuitdrukking met de gegeven invoer om de uitvoer te produceren.

De uitvoer wordt verkregen zoals weergegeven in de afbeelding als de ingevoerde waarde groter is dan 200

Voorbeeld # 4 - Met Command-knop om de waarden te wijzigen

De select case wordt ook gebruikt met de Command-knop door een macro te maken.

Code:

Subkleur () Dim-kleur As String-kleur = Bereik ("A1"). Waarde Selecteer Kleur hoofdletter Hoofdletter "Rood", "Groen", "Geel" Bereik ("B1"). Waarde = 1 Hoofdletter "Wit", "Zwart "," Brown "Range (" B1 "). Waarde = 2 Case" Blue "," Sky Blue "Range (" B1 "). Waarde = 3 Case Else Range (" B1 "). Waarde = 4 End Select End Sub

Zoals weergegeven in het programma, wordt de invoer uit de cellen van het werkblad gehaald. Het programma wordt uitgevoerd na het klikken op de opdrachtknop die wordt gebruikt vanuit ActiveX-besturingselementen. Hierin wordt een komma-scheidingsteken gebruikt om de testuitdrukkingen te combineren.

Wanneer de waarde in de cel A1 verandert, resulteert dit in een verandering in de B1-cel, ook door de Excel-macro uit te voeren via de opdrachtknop. U kunt de onderstaande schermafbeelding raadplegen: -

Voorbeeld # 5 - Controleer een oneven of even getal

Dit voorbeeld om te helpen bij het controleren van een getal is even of oneven.

Code:

Sub CheckOddEven () CheckValue = InputBox ("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "Het nummer is even" Case False MsgBox "Het nummer is oneven" End Select End Sub

De codering is ontwikkeld, zoals weergegeven in de schermafbeelding, en de uitvoer wordt als volgt weergegeven, zelfs als het nummer wordt ingevoerd.

Voorbeeld # 6 - Geneste Select Case-verklaringen

Nesten is een handige functie van het geselecteerde geval, en de manier waarop het wordt gedaan, wordt getoond.

Code:

Sub TestWeekday () Case selecteren Weekdag (nu) Case 1, 7 Case selecteren Weekdag (nu) 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

Hier wordt het geselecteerde geval gedefinieerd binnen een ander geselecteerd geval om een ​​dag, weekdag of weekend te testen. Behalve voor geval 1 en 7 die overblijven, zijn het allemaal weekdagen (Opmerking: geval 1 is zondag en geval 7 is zaterdag)

Dingen om te onthouden

  • Het 'Is'-sleutelwoord dat wordt gebruikt in de verklaring van (case) en (case else) zijn niet gelijk.
  • ActiveX-besturingselement moet worden gebruikt bij het uitvoeren van een programma via een opdrachtknop die invoer neemt en uitvoer weergeeft in het Excel-bladbereik van cellen.
  • Het is moeilijk om de programma's in VBA uit te voeren als macro's zijn uitgeschakeld en altijd macro's inschakelen om de beste resultaten te krijgen.
  • VBA is hoofdlettergevoelig en de invoer moet nauwkeurig worden ingevoerd om betere resultaten te krijgen.

Interessante artikelen...