Dit artikel laat zien hoe u de VBA Switch-instructie gebruikt.
De VBA Switch-instructie wordt op dezelfde manier gebruikt als de VBA Select Case-instructie.
De syntaxis van de Switch-verklaring
De switch-instructie evalueert een lijst met expressies om te zien of ze waar of onwaar zijn, en retourneert de waarde van de eerste expressies die als waar wordt geëvalueerd. De lijst met argumenten bestaat uit paren - een uitdrukking en een waarde die worden geretourneerd als de uitdrukking als waar wordt geëvalueerd.
Schakelaar(expr-1, waarde-1, [ expr-2, waarde-2… , [ expr-n, waarde-n ]])
De Switch-instructie gebruiken in een VBA-procedure
Om dit in een macro te gebruiken, kan het lijken op dit onderstaande voorbeeld:
1234567 | Sub TestSwitch()Dim strCompany As StringDim bedrijfs-ID als geheel getalBedrijfs-ID = 2strCompany = Switch (Bedrijfs-ID = 1, "Apple", Bedrijfs-ID = 2, "IBM", Bedrijfs-ID = 3, "Samsung")MsgBox strBedrijvenEinde sub |
We declareren een integer-variabele om de waarden van de expressies in de switch-instructie vast te houden. Vervolgens declareren we een andere tekenreeksvariabele om de waarde te retourneren die in die uitdrukking zit.
De Switch-instructie gebruiken met een bereik
In plaats van de waarde die de switch gaat evalueren in de code hard te coderen, kunnen we een waarde gebruiken die we in een Excel-cel hebben opgeslagen om de string te retourneren die we nodig hebben.
1234567 | Sub TestSwitch()Dim strCompany As StringDim bedrijfs-ID als geheel getalBedrijfs-ID = bereik ("A2")strCompany = Switch (Bedrijfs-ID = 1, "Apple", Bedrijfs-ID = 2, "IBM", Bedrijfs-ID = 3, "Samsung")MsgBox strBedrijvenEinde sub |
Om deze procedure te gebruiken, moeten we een nummer hebben in de cel A2 in het werkblad. We kunnen dan de macro uitvoeren om de naam van het bedrijf (dwz Samsung) te krijgen.
Als we geen nummer in cel A3 hebben en we voeren de code uit, wordt een Type Mismatch Error geretourneerd.
Een aangepaste functie maken met VBA Switch
We kunnen ook een aangepaste functie maken met VBA-switch en deze gebruiken in onze werkmap.
123 | Functie SwitchStatement(i As Integer) As StringSwitchStatement = Switch (i=1, "Apple", i= 2, "IBM", i= 3, "Samsung")Functie beëindigen |
Om dit in onze werkmap te gebruiken, kunnen we het dialoogvenster Functie invoegen gebruiken.
Klik in de cel A3 en klik vervolgens op Functie invoegen in de functiebalk.
Selecteer in het dialoogvenster Functie invoegen: Gebruiker gedefinieerde van de Selecteer categorie vervolgkeuzelijsten selecteer vervolgens Schakelverklaring.
Klik OKE, en klik vervolgens op cel A2.
De naam van het bedrijf, zoals opgeslagen in de Overstapverklaring, komt terug op ons werkblad.