VBA If - Then - Else Statement in Excel (4 voorbeelden)

  • Deel Dit
Hugh West

Voorwaardelijke verklaringen worden gebruikt om een reeks acties uit te voeren afhankelijk van de opgegeven voorwaarde in programmeertalen. In dit artikel laten we zien wat is Als - Dan - Anders voorwaardelijke verklaring in VBA Excel is en hoe het te gebruiken.

Werkboek downloaden

U kunt de gratis oefen Excel-werkmap hier downloaden.

Als-dan-ook in VBA.xlsm

Inleiding tot de If - Then - Else-verklaring in VBA

VBA Als - Dan - Anders Voorwaardelijke verklaringen worden hoofdzakelijk gebruikt om de uitvoeringsstroom van de voorwaarden te bepalen. Als de voorwaarde waar is, wordt een bepaalde reeks acties uitgevoerd, en als de voorwaarde onwaar is, wordt een andere reeks acties uitgevoerd.

  • Syntax
 Als voorwaarde dan [verklaringen] [Else_verklaringen] 

Of,

 Als voorwaarde Dan [verklaringen] [Else [else_verklaringen]] End If 

Hier,

Argument Vereist/ Facultatief Beschrijving
voorwaarde Vereist Een numerieke uitdrukking of een tekenreeks die evalueert of de uitdrukking Echt of Valse Als de voorwaarde nul is, wordt het beschouwd als Valse .
verklaringen Optioneel Een eenregelig formulier dat geen Anders Een of meer uitspraken moeten worden gescheiden door dubbele punten. Als de voorwaarde is Echt dan wordt deze verklaring uitgevoerd.
else_statements Optioneel Een of meer verklaringen worden uitgevoerd indien geen eerdere voorwaarde is Echt .

4 Voorbeelden van het gebruik van VBA If - Then - Else Statement in Excel

In dit deel leert u hoe u het volgende kunt gebruiken Als-dan-ook in VBA code met 4 voorbeelden.

1. Vind het grootste getal tussen twee getallen met de If - Then - Else verklaring.

Als je twee getallen hebt en je wilt weten welke groter (of kleiner) is, dan kun je de Als-dan-ook verklaring in VBA .

Stappen:

  • Druk op Alt + F11 op uw toetsenbord of ga naar de tab Ontwikkelaar -> Visual Basic om te openen Visual Basic-editor .

  • In het pop-up codevenster, klik in de menubalk op Invoegen -> Module .

  • Kopieer de volgende code en plak die in het codevenster.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 Als Num1> Num2 Dan MsgBox "1e getal is groter dan het 2e getal" ElseIf Num2> Num1 Dan MsgBox "2e getal is groter dan het 1e getal" Else MsgBox "1e getal en 2e getal zijn gelijk" End If End Sub 

Uw code is nu klaar om te draaien.

Hier vergelijken we twee getallen 12345 en 12335 Dit proces is meestal perfect voor het vinden van grote getallen in een grote dataset.

  • Druk op F5 op uw toetsenbord of selecteer in de menubalk Run -> Run Sub/UserForm U kunt ook gewoon op de klein pictogram Play in de submenubalk om de macro uit te voeren.

U krijgt het resultaat in Excel's MsgBox

In ons geval, nummer 12345 - opgeslagen in variabele Num1 - is groter dan het getal 12335 , Num2 Dus de MsgBox toont ons dat de Het eerste getal is groter dan het tweede getal .

Lees meer: Excel formule om willekeurig getal te genereren (5 voorbeelden)

2. Studentenresultaten controleren met behulp van een If - Then - Else-statement in VBA

U kunt controleren of een leerling slaagt of zakt voor een examen met deze verklaring in de VBA code.

Stappen:

  • Dezelfde manier als voorheen, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Kopieer in het codevenster de volgende code en plak deze.
 Sub CheckResult() Als Range("D5").Value> 33 Dan MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

Uw code is nu klaar om te draaien.

Deze code controleert of Cell D5 een waarde heeft die groter is dan 33 Zo ja, dan toont hij een uitgang, zo nee, dan toont hij iets anders.

  • Ren de macro en u krijgt het resultaat volgens uw code.

Kijk naar de bovenstaande dataset met het resultaat, Cel D5 houdt 95 wat zeker meer is dan 33 , vandaar dat het de Resultaat is geslaagd Maar als we de code voor Cel D7 (22), dan zou het anders worden weergegeven.

Lees meer: Hoe VBA Case Statement gebruiken (13 voorbeelden)

Vergelijkbare lezingen

  • Hoe de Log-functie in Excel VBA te gebruiken (5 geschikte voorbeelden)
  • VBA LTrim-functie gebruiken in Excel (4 voorbeelden)
  • Hoe VBA FileDateTime-functie gebruiken in Excel (3 toepassingen)
  • VBA Mod Operator gebruiken (9 voorbeelden)
  • VBA EXP-functie in Excel (5 voorbeelden)

3. Opmerkingen bijwerken in Student Grade met behulp van meerdere If - Then - Else Statement in VBA

Je hebt geleerd hoe je uit een leerling kunt halen of hij geslaagd is of niet met een enkele Als-dan-ook verklaring, maar deze keer leer je over Meervoudige Als-Dan-Else verklaringen met het volgende voorbeeld.

We zullen een VBA code om die Commentaar vakken op basis van meerdere voorwaarden.

Stappen:

  • Dezelfde manier als voorheen, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Kopieer in het codevenster de volgende code en plak deze.
 Sub UpdateComment() Voor elk cijfer in bereik("D5:D10") Als cijfer = "A" Dan cijfer.Offset(0, 1).Waarde = "Goed werk" Else Als cijfer = "B" Dan cijfer.Offset(0, 1).Waarde = "Ga zo door" Else Als cijfer = "C" Dan cijfer.Offset(0, 1).Waarde = "Verbetering nodig" Else cijfer.Offset(0, 1).Waarde = "Bijeenkomst ouders-leraar" End If Volgende cijfer EindeSub 

Uw code is nu klaar om te draaien.

Deze code drukt opmerkingen af volgens het door de leerlingen behaalde cijfer.

  • Ren deze code en zie de volgende afbeelding waar de commentaarvakken zijn gevuld met de juiste resultaten.

4. If-Then-Else Statement om kardinale aanwijzingen bij te werken op basis van code in Excel

U kunt ook gebruik maken van de Als-dan-ook om de kardinale richtingen te vinden op basis van de gegeven indicatorcode. Kijk naar de volgende afbeelding waar we de richtingen zullen vinden op basis van de gegeven initialen.

Stappen:

  • Open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Kopieer in het codevenster de volgende code en plak deze.
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub 

Uw code is nu klaar om te draaien.

  • Ren deze code en u krijgt de namen van de richtingen in de respectieve cellen.

Of, als u slechts één richting wilt vinden op basis van een code, dan kunt u de onderstaande code gebruiken.

 Sub UpdateDirections() Dim iDirection als String Dim iDirectionName als String iDirection = Range("B5").Value Als iDirection = "N" Dan iDirectionName = "North" Elsef iDirection = "S" Dan iDirectionName = "South" Elsef iDirection = "E" Dan iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Deze code neemt de waarde van Cel B5 in overweging en geeft het resultaat in overeenstemming daarmee terug in Cel C5 .

Als u bijvoorbeeld schrijft " N " in Cell B5 zal het je " Noord als je schrijft " S " in Cell B5 zal het je laten zien " Zuid " in Cell C5 .

Conclusie

Dit artikel liet zien hoe je de Als - Dan - Anders verklaring in Excel met VBA Ik hoop dat dit artikel nuttig voor je is geweest. Voel je vrij om vragen te stellen als je vragen hebt over het onderwerp.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.