VBA Selecteer Case

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 dat 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 weergegeven op het tabblad ontwikkelaar.

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 om te testen [Case] ​​Lijst met expressieverklaringen (Case 1, Case 2, Case 3 enzovoort ...) Case Else (Else Statements) End Select 

De uitleg voor de termen die verband houden met het geselecteerde geval 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 testexpressie niet overeenkomt met enige case-instructies.

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 gemaakt in de ontwikkelaarsmodus om de verschillende kleine applicaties in het zakelijke veld 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 een macro worden gemaakt door de opdrachtknopbediening in het Excel-blad te plaatsen.
  • Klik daarna met de rechtermuisknop op de opdrachtknop en selecteer de optie Bekijk code
  • Plaats de code tussen de opdrachtknopfunctie en end sub
  • Foutopsporing 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
U kunt deze VBA Select Case Excel-sjabloon hier downloaden - VBA Select Case Excel-sjabloon

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 Select Case!" Case Else MsgBox "Geen van de Case komt overeen!" Einde Selecteer Einde 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 'Aan' 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 trefwoord 'Aan' is handig bij het definiëren van de reeks 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 het geselecteerde hoofdlettergebruik.

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

Het geselecteerde geval 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 wanneer een even getal 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 

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.