Hoe If Else Statement in VBA te gebruiken? (met voorbeelden)

Excel VBA IF Else-verklaring

Er is geen IF Else-instructie in het werkblad en deze kan alleen worden gebruikt in de VBA-code, terwijl we in VBA werken, kunnen we een voorwaarde opgeven die de If-voorwaarde-instructie is en als er aan een bepaalde set instructies is voldaan, wordt deze uitgevoerd en als de voorwaarde mislukt de instructie, dan wordt de instructie anders uitgevoerd.

VBA is niet anders als het gaat om logische tests. Het werkt op dezelfde manier als hoe het werkt in gewone werkbladen. Van alle logische functies wordt de "ALS" -functie meestal uit de partij gebruikt. Met IF kunnen we een logische test uitvoeren en tot de beslissingen komen als aan de logische test is voldaan, en ook tot alternatieve beslissingen komen als niet aan de logische test wordt voldaan.

Hieronder vindt u de syntaxis van de IF Else-voorwaarde.

ALS Dan Als de logische test WAAR is Anders Als de logische test ONWAAR is Einde ALS

Wat is VBA IF Then Else-verklaring?

Zodra de geleverde logische test FALSE is, hebben we een alternatieve taak nodig om uit te voeren als onderdeel van de code. Dus "ALS ANDERS" betekent dat als de logische test ONWAAR is, wat er nog meer moet gebeuren.

Om het onderstaande voorbeeld beter te begrijpen, hebben we het resultaat alleen als "10 is groter" opgegeven als de logische test WAAR is. Toch kunnen we in het logische FALSE-resultaat het alternatieve resultaat leveren als “10 is minder”.

Dus zodra de logische tests zijn geleverd en de ECHTE onderdeelcode op de volgende regel is geschreven, voert u het woord "ELSE" in.

ELSE betekent dat als de logische test niet WAAR is, we het resultaat nodig hebben omdat “10 is minder”.

Code:

Sub IF_Else_Example1 () If 10> 11 Then MsgBox "10 is groter" Else MsgBox "10 is lesser" End If End Sub

Nu geeft onze code ten minste een van de bovenstaande resultaten. Voer de code uit en bekijk het resultaat.

Omdat we het alternatieve resultaat hebben geleverd als de logische test FALSE is, heeft het het alternatieve resultaat weergegeven als "10 is minder" omdat 10 minder is dan het andere getal 11.

Voorbeeld

Bekijk bijvoorbeeld de onderstaande gegevens.

Met deze gegevens moeten we tot de status komen op basis van de "kosten" van elk product. Hieronder staan ​​de criteria om aan te komen.

Als de kostprijs> 50 is, moet de status ' Duur ' zijn, of anders moet de status ' Niet duur' zijn .

Hier moeten we de kostprijs testen, dat wil zeggen, logisch testen of de kostprijs> 50 is of niet. Als de logische test WAAR is, dwz de kostprijs is meer dan 50, hebben we de status 'Duur' nodig, en als de logische test ONWAAR is, dwz de kostprijs is minder dan 50, hebben we het alternatieve resultaat nodig omdat "Niet duur."

Oké, laten we de code nu schrijven. Kopieer en plak daarvoor de bovenstaande tabel in een Excel-werkblad.

Stap 1: Start de subprocedure.

Sub IF_ELSE_Example2 () End Sub

Stap 2: Declareer de variabele als een integer-gegevenstype.

Dim k als geheel getal

Stap 3: Omdat we meer dan één celwaarden moeten testen, moeten we FOR VBA LOOP gebruiken om door de cellen te lopen en de logica voor alle cellen toe te passen.

We moeten logisch testen van toepassing vanaf de 2e rij tot 8 ste rij, dus begin VOOR LOOP 2-8.

Code:

Voor k = 2 tot 8 Volgende k

Stap 4: Binnen deze lus moeten we de logische test uitvoeren. Dus open de IF-instructie en selecteer de eerste cel met de eigenschap CELLS.

Code:

If Cells (k, 2) .Value> 50 Then

Hier betekent Cellen (k, 2) rij (waarde van k) en kolom 2.

Stap 5: Als deze celwaarde> 50 is, hebben we het resultaat nodig als "Duur" in de volgende kolomcel. Dus code zal zijn -

Code:

Cellen (k, 3) .Value = "Duur"

Stap 6: Als de test niet WAAR is, hebben we de resultaten van de ELSE-verklaring nodig, dat wil zeggen 'Niet duur'.

Code:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 tot 8 If Cells (k, 2) .Value> 50 Then Cells (k, 3) .Value = "Dure" Else Cells (k, 3) .Value = "Not Dure "End If Next k End Sub

Deze code loopt van de 2e naar de 8e rij door, test de getallen en komt tot het resultaat op basis van de kostprijs.

Op deze manier kunnen we If-Else gebruiken om naar alternatieve resultaten te komen.

Dingen om te onthouden

  • Else-instructie is voor een FALSE logische test.
  • Als u meer dan twee logische tests in Excel wilt toepassen, moeten we de ELSE IF-instructie gebruiken.
  • In het geval van taakuitvoering voor meer dan één cel, moeten we lussen gebruiken.
  • If Else-instructie kan slechts één logische test testen.

Interessante artikelen...