Hur använder jag If Else Statement i VBA? (med exempel)

Innehållsförteckning

Excel VBA IF Annars uttalande

Det finns inget IF Else-uttalande i kalkylbladet och det kan bara användas i VBA-koden, medan vi arbetar i VBA kan vi tillhandahålla ett villkor som är If-villkoret och om det uppfylls en viss uppsättning instruktioner körs det och om villkoret misslyckas med instruktionen så utförs annat uttalande.

VBA är inte annorlunda när det gäller logiska tester. Det fungerar på samma sätt som hur det fungerar i vanliga kalkylblad. Av alla logiska funktioner används ”IF” -funktionen mest från partiet. Med IF kan vi genomföra ett logiskt test och komma fram till besluten om det logiska testet är uppfyllt och även få alternativa beslut om det logiska testet inte är uppfyllt.

Nedan visas syntaxen för IF Else-tillståndet.

IF Om det logiska testet är SANT Annars Om det logiska testet är FALSE Avsluta IF

Vad är VBA IF Then Else Statement?

När det medföljande logiska testet är FALSE behöver vi någon alternativ uppgift att utföra som en del av koden. Så ”IF ELSE” betyder om det logiska testet är FALSE, vad mer behöver göra.

För att bättre förstå exemplet nedan har vi tillhandahållit resultatet som “10 är större” endast om det logiska testet är SANT. I det FALSKA logiska resultatet kan vi ändå leverera det alternativa resultatet eftersom "10 är mindre".

Så när de logiska testerna har levererats och den SANNA delkoden skrivs i nästa rad, skriv in ordet “ELSE.”

ELSE betyder att om det logiska testet inte är SANT behöver vi resultatet eftersom ”10 är mindre”.

Koda:

Sub IF_Else_Example1 () Om 10> 11 Då är MsgBox "10 större" Annars MsgBox "10 är mindre" Slut om End Sub

Nu ger vår kod åtminstone något av ovanstående resultat. Kör koden och se resultatet.

Eftersom vi har tillhandahållit det alternativa resultatet om det logiska testet är FALSKT, har det visat det alternativa resultatet som “10 är mindre” eftersom 10 är mindre än det andra numret 11.

Exempel

Titta till exempel på nedanstående data.

Med dessa uppgifter måste vi komma fram till statusen baserat på "Kostnad" för varje produkt. För att komma fram status nedan är kriterierna.

Om kostpriset är> 50 bör statusen vara " Dyrt ", annars ska statusen vara " Inte dyrt ."

Här måste vi testa kostnadspriset, det vill säga logiskt testa om kostnaden är> 50 eller inte. Om det logiska testet är SANT, dvs kostpriset är mer än 50, behöver vi status som "Dyrt", och om det logiska testet är FALSKT, dvs kostpriset är mindre än 50, behöver vi det alternativa resultatet som "Inte dyrt."

Okej, låt oss skriva koden nu. Innan det, kopiera och klistra in tabellen ovan till ett Excel-kalkylblad.

Steg 1: Starta delproceduren.

Sub IF_ELSE_Example2 () Avsluta Sub

Steg 2: Förklara variabeln som en heltaldatatyp.

Dim k som heltal

Steg 3: Eftersom vi behöver testa mer än ett cellvärde, måste vi använda FOR VBA LOOP för att slinga igenom cellerna och tillämpa logiken för alla celler.

Vi måste tillämpa logiska tester från 2: a raden till 8: e raden, så starta FOR LOOP från 2 till 8.

Koda:

För k = 2 Till 8 Nästa k

Steg 4: Inuti denna slinga måste vi utföra det logiska testet. Så öppna IF-uttalandet och välj den första cellen med CELLS-egenskapen.

Koda:

Om celler (k, 2) .Värde> 50 Då

Här betyder celler (k, 2) rad (värde på k) och kolumn 2.

Steg 5: Om detta cellvärde är> 50 behöver vi resultatet som "Dyrt" i nästa kolumncell. Så kod kommer att vara -

Koda:

Celler (k, 3) .Value = "Expensive"

Steg 6: Om testet inte är SANT behöver vi resultaten från ELSE-uttalandet, dvs "Inte dyrt."

Koda:

Sub IF_ELSE_Example2 () Dim k som heltal För k = 2 till 8 Om celler (k, 2) .Värde> 50 Sedan celler (k, 3) .Value = "Dyrt" Annat celler (k, 3) .Value = "Inte Dyrt "Avsluta om nästa k Avsluta sub

Den här koden slår igenom från 2: a till 8: e raden testar siffrorna och når resultatet baserat på kostpriset.

Så här kan vi använda If-Else för att nå alternativa resultat.

Saker att komma ihåg

  • Annat uttalande är för ett FALSKT logiskt test.
  • Om du vill använda mer än två logiska tester i Excel måste vi använda ELSE IF-uttalandet.
  • Vid uppgiftskörning för mer än en cell måste vi använda slingor.
  • Om annat uttalande bara kan testa ett logiskt test.

Intressanta artiklar...