Excel VBA IF-uttalanden

IF-uttalande i VBA-kod är en av de mest använda som gör att du kan välja. IF-funktionen i VBA är annorlunda jämfört med EXCEL IF-funktionen, dvs. i Excel IF-funktion eller formel kontrollerar om det givna villkoret eller kriterierna utvärderas till SANT eller FALSE och returnerar sedan ett värde baserat på utvärderingen, medan VBA IF-uttalande endast utför den första hälften av uttalandet, dvs. kontrollera om villkoret utvärderas till SANT eller FALSE, dessutom måste DET uttalande matas in i VBA IF-uttalande för återstående operation eller uppgift att utföra.

Tre parametrar som du måste tänka på eller ha i åtanke när du skriver VBA IF-uttalande kod.

  • Ett villkor eller parameter som ska testas.
  • En operation eller uppgift att utföra om villkoret är SANT.
  • En operation eller uppgift att utföra om villkoret är FALSE

Det är ett beslutsfattande som används för att utföra ett kodblock.

Den utför en uppgift eller operation när ett villkor är SANT, annars gör ingenting eller gör något annat. Vanligtvis består ett if-uttalande av ett booleskt uttryck följt av uttalanden (det kan vara ett eller många).

Enkelt till det komplexa tillståndet kan skrivas i VBA IF-uttalande.

Nedan visas de olika typerna av VBA IF-uttalanden med deras syntax och exempel.

IF-uttalandetyperSyntax
OM DÅOm sedan (uttalande)

Sluta om

OM ANNATOm då (uttalande1)

Annan:

(Statement2)

Sluta om

OM ELSEIFOM

(Räkningen1)

ELSEIF Sedan

(Statement2)

Sluta om

ELSE OCH ELSEIF

(ELSEIF-uttalandet måste komma först, efter det ELSE)

IF (villkor1 är sant) Sedan

(Räkningen1)

ELSEIF ( villkor2 är sant) Sedan

(Statement2)

ANNAN

(Statement3)

Sluta om

OM UTAN ENDIF

(endast en rad)

Används när ELSE eller ELSE IF-sats inte används

IF (villkoret är sant) Sedan (uttalande)

Förutom ovanstående uttalande kan även NESTED IF- uttalande användas, dvs ett if eller ELSEIF-uttalande i ett annat if- eller ELSEIF-uttalande.

Hur använder jag IF-uttalanden i Excel VBA?

Vi kommer att lära oss typerna och hur man använder VBA IF-uttalanden med några exempel i Excel.

Du kan ladda ner denna VBA IF-uttalanden Excel-mall här - VBA IF-uttalanden Excel-mall
  • Öppna ett VB Editor-fönster. Välj eller klicka på Visual Basic i kodgruppen på fliken Utvecklare eller så kan du direkt klicka på Alt + F11- genvägstangenten.

  • Detta tar oss till Visual Basic-kodningsfönstret. Gå nu till Infoga-menyn från VBA-fönstret och välj Modul som visas nedan.

  • Nu skapas den tomma modulen, den kallas också ett kodfönster, där du kan börja skriva om uttalandekoder.

VBA OM DÅ Uttalande - Exempel 1

IF THEN är en enkel form av VBA-uttalande. Formatet för att skriva en kod är:

Om sedan

Du bör använda matchande End If- sats efter att ha angett ovanstående syntax , När villkoret uppfyller eller kriterier utvärderas till true, behandlas alla raderna mellan If Then och End If .

När du skriver Sub IF_THEN () som det första meddelandet utan några citat runt det, kan du observera, Excel lägger automatiskt till raden End Sub under den första meddelanderaden när du trycker på Enter. Nu måste alla koder som du anger vara mellan dessa två rader.

Koda:

 Sub IF_THEN () Om 3> 2 Då är MsgBox "3 större än 2" End If End Sub 

Låt oss kolla med ovanstående kod som har en enda rad med IF-uttalande som verifierar eller kontrollerar värdet 3.

Om värdet "3" är större än "2" visas pop-upmeddelandet med meddelandet, dvs "3 är större än 2". Om du ändrar värdet från " 2 " till " 5 " i VBA-koden och kör den, händer ingenting. Eftersom 3 inte är större än 5.

Du kan köra makro genom att klicka på knappen Kör sub eller genom att trycka på F5 . Pop-upfönstret i VBA-meddelanderutan visas med meddelandet som anger ”3 är större än 2”

VBA IF-THEN-ELSE-uttalande - Exempel # 2

I detta scenario används IF & ELSE- uttalandet för att utföra två olika villkor. Formatet eller syntaxen för att skriva kod är:

Om sedan

räkningen1

Annan:

Statement2

Sluta om

OM du kör en nedan nämnd kod, dvs Om cellen B4 innehåller ett värde 7, kommer du att få en meddelanderuta som visar "Cell B4 har värde 7" och om cellen B4 innehåller ett annat värde än 7 kommer du att få en meddelanderuta som visar "Cell B4 har ett annat värde än 7".

Här, baserat på värdet som finns i cellen, inträffar olika resultat (dvs. mer än ett villkor).

Koda:

 Sub IF_THEN_ELSE () Om Range ("B4"). Värde = "7" Sedan har MsgBox "Cell B4 värde 7" Annars MsgBox "Cell B4 har ett annat värde än 7" End If End Sub 

Nu innehåller cellen "B4" ett värde 7, om jag kör över koden visas det första villkoret.

Antag att jag ändrade värdet på cell "B4" från 7 till 5 som visas nedan.

Koda:

 Sub IF_THEN_ELSE () Om Range ("B4"). Värde = "5" Sedan har MsgBox "Cell B4 värde 7" Annars MsgBox "Cell B4 har ett annat värde än 7" End If End Sub 

Så om jag kör över VBA IF-THEN-ELSE-kod, visas det andra villkoret.

IF-THEN-ELSEIF-ELSE - Exempel 3

Det är en avancerad form av VBA om uttalande, format eller syntax för att skriva en kod är

IF (villkor1 är sant) Sedan

(Räkningen1)

ELSEIF ( villkor2 är sant) Sedan

(Statement2)

ANNAN

(Statement3)

Sluta om

Fördelen med den här koden är att ELSE IF kan användas enskilt eller flera gånger (10 eller 100 gånger eller mer) enligt ditt krav.

Koda:

 Sub IF_THEN_ELSEIF_ELSE () Om 5> 8 Då är MsgBox "5 större än 8" ElseIf 6> 8 Då är MsgBox "6 större än 8" ElseIf 7> 8 Då är MsgBox "7 större än 8" Else MsgBox "5, 6 eller 7 är mindre än 8 "End If End Sub 

Låt oss kolla hur ovanstående kod fungerar, Excel kommer att initiera eller bearbeta det första uttalandet, när det märker, att det är falskt, sedan kommer det att gå vidare till nästa. Här är alla ElseIf-argument eller villkor felaktiga, därför kommer det att gå vidare tills villkoret är sant och till slutresultatet av Else-argumentet visas som ett slutresultat av IF-uttalandet. dvs. MsgBox “5, 6 eller 7 är mindre än 8” vilket är ett SANT argument.

När du väljer och kör koden genom att klicka på knappen Kör sub eller genom att trycka på F5 . Pop-upfönstret i VBA-meddelanderutan med ett meddelande om "5, 6 eller 7 är mindre än 8" vilket är ett sant argument

Nu kan du spara dessa makrokoder genom att byta namn till VBA_IF_STATEMENT under namnsektionen på fliken Egenskaper

Saker att komma ihåg

  • När den enda raden i IF Then-sats används, behöver du inte använda End IF äntligen. Men när vi delar upp det i mer än en rad måste slutet If-uttalande användas.
  • I VBA, IF-THEN-ELSEIF-ELSE-uttalandet, bör Else-argument alltid placeras före Else-argumentet.

Rekommenderade artiklar

Detta är en guide till VBA IF-uttalanden. Här diskuterade vi hur man använder IF-uttalanden i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar–

  1. VBA-matriser i Excel
  2. Guide till VBA-nummerformat
  3. Guide till VBA Find
  4. Hur man använder VBA Do While Loop?

Kategori: