VBA If - Then - Else Statement i Excel (4 exempel)

  • Dela Detta
Hugh West

Villkorliga uttalanden används för att utföra en uppsättning åtgärder beroende på det angivna villkoret i programmeringsspråk. I den här artikeln kommer vi att visa dig vad som är Om - Då - Annars villkorligt uttalande i VBA Vad Excel är och hur man använder det.

Ladda ner arbetsboken

Du kan ladda ner den kostnadsfria Excel-arbetsboken för övningar här.

If-Then-Else i VBA.xlsm

Introduktion till If - Then - Else-satsen i VBA

VBA Om - Då - Else Villkorliga uttalanden används huvudsakligen för att bestämma hur villkoren ska utföras. Om villkoret är sant utförs en viss uppsättning åtgärder, och om villkoret är falskt utförs en annan uppsättning åtgärder.

  • Syntax
 Om villkor Då [uttalanden] [Else else_statements] 

Eller,

 Om villkor Då [uttalanden] [Annars [else_statements]] Slut Om 

Här,

Argument Obligatoriskt/ frivilligt Beskrivning
villkor Krävs Ett numeriskt uttryck eller ett stränguttryck som utvärderar om uttrycket är True eller . Falskt . Om den villkor är noll, anses det Falskt .
uttalanden Valfritt Ett formulär med en enda rad som inte har någon Annat klausulen. Ett eller flera uttalanden måste skiljas åt med kolon. Om villkor är True , utförs det här uttalandet.
else_statements Valfritt Ett eller flera uttalanden utförs om ingen tidigare villkor är True .

4 exempel på användning av VBA If - Then - Else Statement i Excel

I det här avsnittet lär du dig hur du använder If-Then-Else VBA kod med 4 exempel.

1. Hitta det största talet mellan två tal med If - Then - Else Statement

Om du har två tal och vill ta reda på vilket som är det största (eller minsta) kan du använda If-Then-Else uttalande i VBA .

Steg:

  • Tryck på Alt + F11 på tangentbordet eller gå till fliken Utvecklare -> Visual Basic för att öppna Redigerare för Visual Basic .

  • I popup-kodfönstret klickar du i menyraden på Infoga -> Modul .

  • Kopiera följande kod och klistra in den i kodfönstret.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "Första numret är större än det andra numret" ElseIf Num2> Num1 Then MsgBox "Andra numret är större än det första numret" Else MsgBox "Första numret och andra numret är lika" End If End Sub 

Din kod är nu redo att köras.

Här jämför vi två tal 12345 och 12335 Denna process är vanligtvis perfekt för att hitta stora tal i en stor datamängd.

  • Tryck på F5 på tangentbordet eller välj i menyraden Kör -> Kör Sub/UserForm Du kan också bara klicka på liten Play-ikon i undermenyfältet för att köra makrot.

Du får resultatet i Excels MsgBox

I vårt fall är antalet 12345 - lagras i variabeln Num1 - är större än antalet 12335 , Num2 MsgBox visar oss alltså att den Det första talet är större än det andra talet .

Läs mer: Excel-formel för att generera slumpmässiga nummer (5 exempel)

2. Kontrollera elevernas resultat med hjälp av If - Then - Else Statement i VBA

Du kan kontrollera om en elev klarar eller inte klarar ett prov med det här uttalandet i VBA kod.

Steg:

  • På samma sätt som tidigare, öppna Redigerare för Visual Basic från Utvecklare och Infoga a Modul i kodfönstret.
  • I kodfönstret kopierar du följande kod och klistrar in den.
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

Din kod är nu redo att köras.

Denna kod kontrollerar om Cell D5 har ett värde som är större än 33 Om den gör det kommer den att visa ett resultat, om den inte gör det kommer den att visa något annat.

  • Kör makrot och du får resultatet enligt din kod.

Titta på ovanstående dataset med resultatet, Cell D5 har 95 vilket är mer än 33 , och visar därför den Resultatet är godkänt. Men om vi kör koden för Cell D7 (22), skulle den visas på annat sätt.

Läs mer: Hur man använder VBA Case Statement (13 exempel)

Liknande läsningar

  • Hur man använder logfunktionen i Excel VBA (5 lämpliga exempel)
  • Använd VBA LTrim-funktionen i Excel (4 exempel)
  • Hur man använder VBA FileDateTime-funktionen i Excel (3 användningsområden)
  • Använd VBA Mod Operator (9 exempel)
  • VBA EXP-funktion i Excel (5 exempel)

3. Uppdatera kommentarer i elevbetyg med hjälp av flera If - Then - Else-uttalanden i VBA

Du har lärt dig hur du kan få fram om en elev har klarat sig eller inte med en enda If-Then-Else uttalande, men den här gången kommer du att lära dig om Flera If-Then-Else med följande exempel.

Vi kommer att genomföra en VBA kod för att fylla i dessa Kommentar lådor baserat på flera olika villkor.

Steg:

  • På samma sätt som tidigare, öppna Redigerare för Visual Basic från Utvecklare och Infoga a Modul i kodfönstret.
  • I kodfönstret kopierar du följande kod och klistrar in den.
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Great Work" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Keep It Up" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Needs Improvement" Else grade.Offset(0, 1).Value = "Parents-Teacher Meeting" End If Next grade EndUnder 

Din kod är nu redo att köras.

Denna kod skriver ut kommentarer i enlighet med elevernas betyg.

  • Kör denna kod och se följande bild där kommentarsfälten fylls med lämpliga resultat.

4. If-Then-Else Statement för att uppdatera kardinalriktlinjer baserat på kod i Excel

Du kan också använda dig av If-Then-Else att hitta kardinalriktningarna utifrån den angivna indikatorkoden. Titta på följande bild där vi ska ta reda på riktningarna utifrån de initialer som har angetts.

Steg:

  • Öppna Redigerare för Visual Basic från Utvecklare och Infoga a Modul i kodfönstret.
  • I kodfönstret kopierar du följande kod och klistrar in den.
 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 EndUnder 

Din kod är nu redo att köras.

  • Kör den här koden så får du riktningsnamnen i respektive celler.

Om du bara vill hitta en riktning baserat på kod kan du använda koden nedan.

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Den här koden tar värdet från Cell B5 och återger resultatet i enlighet med det i Cell C5 .

Om du till exempel skriver " N " i Cell B5 får du " North ; om du skriver " S " i Cell B5 visas " Syd " i Cell C5 .

Slutsats

Den här artikeln visade dig hur du använder Om - Då - Annars i Excel med VBA Jag hoppas att den här artikeln har varit till stor nytta för dig. Du får gärna fråga om du har några frågor om ämnet.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.