Excel VBA anders Indien

Met VBA Else If kunt u een voorwaarde analyseren en een actie dienovereenkomstig uitvoeren. ALS voorwaarde controleert of de opgegeven voorwaarde WAAR of ONWAAR is, als de voorwaarde WAAR is, retourneert deze de toegewezen waarde van Waarde indien Waar en retourneert Waarde ALS Onwaar als het resultaat ONWAAR is.

De logica van de IF-voorwaarde in de standaard Excel-formule en VBA-formule is hetzelfde. In dit artikel zal ik de volledige VBA ALS-conditie behandelen.

Syntaxis van VBA If Statement

Bekijk eerst de syntaxis van de IF-verklaring in VBA.

Dit lijkt erg op onze werkbladfunctie ALS. Het enige verschil hier is dat we het woord DAN moeten gebruiken om verder te gaan in de functie, ook is een ander deel van de ALS-voorwaarde optioneel in tegenstelling tot onze normale ALS-voorwaarde en moeten we het einde van de functie noemen als End If .

Eigenlijk zal er nog een argument zijn als de te testen voorwaarden meer dan één voorwaarde zijn en dat deel wordt genoemd als ELSE IF-verklaring. Dit lijkt op onze geneste ALS-voorwaarde in onze werkbladberekeningen. ELSE IF zal in beeldwaarde komen als de voorwaarde ONWAAR is, dan moeten we meer voorwaarde testen met ELSE IF-voorwaarde.

In dit artikel zullen we meer van ELSE ALS conditie zien in de praktische wereld.

Hoe VBA Else If Statement te gebruiken?

Laten we begrijpen hoe we VBA Else If Statement kunnen gebruiken met enkele voorbeelden.

U kunt deze VBA anders als Excel-sjabloon hier downloaden - VBA anders als Excel-sjabloon

Simple If Statement - Voorbeeld # 1

Nu is theoretische uitleg voldoende, zelfs als u niets begrijpt, niets om u zorgen over te maken. In het praktische voorbeeld vangt u de logica op.

Stel dat u een waarde in cel A2 hebt en dat u wilt controleren of het aantal groter is dan 100 of niet. Als de waarde groter is dan 100, hebben we de waarde in cel B2 nodig als "Meer dan 100". Onderstaande code voert de vereiste taak uit.

Code:

 Sub IF_Voorbeeld1 () If Range ("A2"). Waarde> 100 Then Range ("B2"). Value = "More than 100" End If End Sub 

Voer deze code vervolgens uit met de F5-toets of handmatig zoals weergegeven in de schermafbeelding. Dan kunnen we het resultaat zien in cel B2.

Als u de waarde in cel A2 wijzigt in 99 en de code uitvoert. De code retourneert niets omdat de waarde kleiner is dan 100 en we geen resultaat hebben gegeven als de test ONWAAR is, dit zien we in het volgende voorbeeld.

If with Else Statement - Voorbeeld # 2

We hebben gezien hoe single IF met TRUE conditie werkt. Nu zullen we zien hoe te werken als de geleverde staat ONWAAR is.

In de huidige code nadat de True-waarde is opgegeven in het volgende regeltype word Else.

Code:

 Sub IF_Voorbeeld2 () Als bereik ("A2"). Waarde> 100 Dan bereik ("B2"). Waarde = "Meer dan 100" Anders einde als einde Sub 

En schrijf in de volgende regel de code voor Valse waarde.

Code:

 Sub IF_Voorbeeld2 () Als bereik ("A2"). Waarde> 100 Dan bereik ("B2"). Waarde = "Meer dan 100" Anders bereik ("B2"). Waarde = "Minder dan 100" Einde als einde Sub 

Voer deze code vervolgens uit met de F5-toets of handmatig zoals weergegeven in de schermafbeelding. Als de waarde groter is dan 100, is het resultaat 'Meer dan 100' in cel B2.

Als de waarde kleiner is dan 100, is het resultaat "Minder dan 100".

Nested If-verklaring met Else If - Voorbeeld # 3

Als we meer dan één voorwaarde willen testen, moeten we meer IF-instructies binnen de IF-voorwaarde gebruiken. Maar in VBA moeten we het woord ELSE ALS gebruiken om meer dan één voorwaarde te testen.

Als in cel A2 bijvoorbeeld de waarde groter is dan 200, hebben we het resultaat nodig als "Meer dan 200" in cel B1.

Als de waarde meer dan 100 is, hebben we het resultaat nodig als "Meer dan 100" in cel B2.

Als de waarde kleiner is dan 100, hebben we het resultaat nodig als "Minder dan 100" in cel B2.

Stap 1: Nadat de WARE waarde is doorgegeven, voert u het woord ANDERS ALS op de volgende regel in.

Code:

 Sub IF_Voorbeeld3 () Als bereik ("A2"). Waarde> 200 vervolgens bereik ("B2"). Waarde = "Meer dan 200" Anders bereik ("A2"). Waarde> 100 Dan bereik ("B2"). Waarde = "Meer dan 100" End If End Sub 

Stap 2: Omdat we al twee argumenten hebben getest, blijft er nog maar één voorwaarde over. Geef nu in de volgende regel het eindresultaat van de test met ELSE-instructie.

Code:

 Sub IF_Voorbeeld3 () Als bereik ("A2"). Waarde> 200 vervolgens bereik ("B2"). Waarde = "Meer dan 200" Anders bereik ("A2"). Waarde> 100 Dan bereik ("B2"). Waarde = "Meer dan 100" Else Range ("B2"). Waarde = "Minder dan 100" End If End Sub 

Stap 3: Voer deze code vervolgens uit met behulp van de F5-toets of handmatig zoals getoond in de screenshot om de resultaten te zien.

Resultaat 1:

Resultaat 2:

Resultaat 3:

Nested If with Loop - Voorbeeld # 4

Dit is het geavanceerde voorbeeld van geneste IF met lus. Stel dat u een verkooptabel hebt met gegevens van 12 maanden.

In de statuskolom hebben we het resultaat als volgt nodig.

  • Als de verkoopwaarde meer dan 7000 is, moet het resultaat "Uitstekend" zijn
  • Als de verkoopwaarde meer dan 6500 is, moet het resultaat "Zeer goed" zijn
  • Als de verkoopwaarde meer dan 6000 is, moet het resultaat "Goed" zijn
  • Als de verkoopwaarde meer dan 4000 is, moet het resultaat "Niet slecht" zijn
  • Als alle resultaten ONWAAR zijn, moet het resultaat 'Slecht' zijn

Om deze test uit te voeren, hebben we de onderstaande code nodig, een combinatie van IF met ELSE IF en LOOP.

Code:

 Sub IF_Voorbeeld4 () Dim i als geheel getal i = 2 voor i = 2 tot 13 als cellen (i, 2). Waarde> = 7000 Dan cellen (i, 3). Waarde = "Uitstekend" Andere cellen (i, 2). Waarde> = 6500 Dan cellen (i, 3). Waarde = "Zeer goed" Andere cellen (i, 2). Waarde> = 6000 Dan cellen (i, 3). Waarde = "Goed" Andere cellen (i, 2) .Value> = 4000 Vervolgens cellen (i, 3) .Value = "Not Bad" Andere cellen (i, 3) .Value = "Bad" End If Next i End Sub 

Voer deze code vervolgens uit met behulp van de F5-toets of handmatig zoals weergegeven in de schermafbeelding om de resultaten te zien.

Dingen om te onthouden

  • ELSE IF-instructie vereist de resultaatcode op dezelfde regel, niet in de volgende regel en vereist ook THEN-instructie om naar de volgende instructie te gaan.
  • Als de END IF-instructie niet is bijgevoegd, wordt de onderstaande foutmelding weergegeven.

  • De operator is niets anders dan gelijk aan een IF-instructie.
  • Net als de werkbladfunctie kunnen we ook de instructie AND & OR gebruiken in de instructie IF.

Aanbevolen artikelen

Dit is een leidraad geweest voor VBA Else If Statement. Hier hebben we VBA Else If en het gebruik van Excel VBA Else If besproken, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Hoe VBA Select Case te gebruiken?
  2. Hoe de VBA-zoekfunctie te gebruiken?
  3. Handleiding voor VBA TRIM-functie
  4. Handleiding en voorbeelden voor VBA-loops

Categorie: