VBA If - Then - Else-erklæring i Excel (4 eksempler)

  • Del Dette
Hugh West

Betingede udsagn bruges til at udføre et sæt handlinger afhængigt af den angivne betingelse i programmeringssprog. I denne artikel vil vi vise dig, hvad der er Hvis - Derefter - Ellers betingede erklæring i VBA Hvad Excel er, og hvordan man bruger det.

Download arbejdsbog

Du kan downloade den gratis Excel-arbejdsbog til øvelser her.

If-Then-Else i VBA.xlsm

Introduktion til If - Then - Else-erklæringen i VBA

VBA Hvis - Derefter - Ellers betingede udsagn bruges hovedsagelig til at bestemme, hvordan betingelserne skal udføres. Hvis betingelsen er sand, udføres et bestemt sæt handlinger, og hvis betingelsen er falsk, udføres et andet sæt handlinger.

  • Syntaks
 Hvis betingelse Derefter [udsagn] [Ellers else_udsagn] 

Eller,

 If betingelse Then [udsagn] [Else [else_statements]] End If 

Her,

Argument Krævet/ valgfri Beskrivelse
betingelse Påkrævet Et numerisk udtryk eller et strengudtryk, der evaluerer, om udtrykket er True eller Falsk . Hvis den betingelse er nul, anses den for at være Falsk .
erklæringer Valgfrit En formular med én linje, der ikke har nogen Ellers En eller flere erklæringer skal være adskilt af kolon. Hvis den betingelse er True , så udføres denne erklæring.
else_statements Valgfrit Der udføres en eller flere erklæringer, hvis der ikke tidligere betingelse er True .

4 eksempler på brug af VBA If - Then - Else Statement i Excel

I dette afsnit lærer du, hvordan du bruger If-Then-Else VBA kode med 4 eksempler.

1. Find det største tal mellem to tal med If - Then - Else Statement

Hvis du har to tal, og du vil finde ud af, hvilket af dem der er det største (eller mindste), kan du bruge If-Then-Else erklæring i VBA .

Trin:

  • Tryk på Alt + F11 på dit tastatur eller gå til fanen Udvikler -> Visual Basic for at åbne Visual Basic-editor .

  • I pop-up kodevinduet skal du på menulinjen klikke på Indsæt -> Modul .

  • Kopier følgende kode, og indsæt den i kodevinduet.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "1st Number is Greater than the 2nd Number" ElseIf Num2> Num1 Then MsgBox "2nd Number is Greater than the 1st Number" Else MsgBox "1st Number and the 2nd Number are Equal" End If End Sub 

Din kode er nu klar til at køre.

Her sammenligner vi to tal 12345 og 12335 Denne proces er normalt perfekt til at finde store tal i et stort datasæt.

  • Tryk på F5 på dit tastatur eller på menulinjen vælge Kør -> Kør Sub/UserForm Du kan også bare klikke på lille Play-ikon i undermenulinjen for at køre makroen.

Du får resultatet i Excel's MsgBox

I vores tilfælde er antallet 12345 - gemt i variabel Num1 - er større end antallet 12335 , Num2 MsgBox viser os altså, at den Det første tal er større end det andet tal .

Læs mere: Excel-formel til generering af tilfældige tal (5 eksempler)

2. Kontrol af elevresultat ved hjælp af If - Then - Else Statement i VBA

Du kan kontrollere, om en elev består eller ikke består en eksamen med denne erklæring i VBA kode.

Trin:

  • På samme måde som før, åbne Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt 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 End Sub 

Din kode er nu klar til at køre.

Denne kode kontrollerer, om Cell D5 har en værdi, der er større end 33 Hvis den gør det, viser den et output, hvis ikke, viser den noget andet.

  • Kør makroen, og du vil få resultatet i overensstemmelse med din kode.

Se på ovenstående datasæt med resultatet, Cell D5 holder 95 hvilket bestemt er mere end 33 , og den viser derfor den Resultatet er bestået Men hvis vi kører koden for Cell D7 (22), så ville den blive vist på en anden måde.

Læs mere: Sådan bruger du VBA Case Statement (13 eksempler)

Lignende læsninger

  • Sådan bruges logfunktion i Excel VBA (5 passende eksempler)
  • Brug VBA LTrim-funktionen i Excel (4 eksempler)
  • Sådan bruges VBA FileDateTime-funktionen i Excel (3 anvendelser)
  • Brug VBA Mod-operatoren (9 eksempler)
  • VBA EXP-funktion i Excel (5 eksempler)

3. Opdater kommentarer i elevkarakterer ved hjælp af flere If - Then - Else-erklæringer i VBA

Du har lært, hvordan du med en enkelt If-Then-Else erklæring, men denne gang vil du lære om Flere If-Then-Else med følgende eksempel.

Vi vil køre en VBA kode til at udfylde disse Kommentar bokse baseret på flere betingelser.

Trin:

  • På samme måde som før, åbne Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt 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 kode er nu klar til at køre.

Denne kode udskriver kommentarer i henhold til den karakter, som eleverne har opnået.

  • Kør denne kode og se følgende billede, hvor kommentarfeltet er udfyldt med de relevante resultater.

4. If-Then-Else-erklæring til opdatering af kardinalretninger baseret på kode i Excel

Du kan også benytte dig af If-Then-Else for at finde de kardinalretninger ud fra den angivne indikatorkode. Se på følgende billede, hvor vi finder retningerne ud fra de angivne initialer.

Trin:

  • Åbn Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt den.
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "Nord" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "Syd" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "Øst" Else iDirection.Offset(0, 1).Value = "Vest" End If Next iDirection EndUnder 

Din kode er nu klar til at køre.

  • Kør denne kode, og du vil få retningsnavnene i de respektive celler.

Eller hvis du kun vil finde en retning baseret på kode, kan du bruge nedenstående kode.

 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 

Denne kode tager værdien fra Cell B5 i betragtning og returnerer resultatet i overensstemmelse hermed i Cell C5 .

Hvis du f.eks. skriver " N " i Cell B5 , vil den give dig " Nord ; hvis du skriver " S " i Cell B5 , vil den vise dig " Syd " i Cell C5 .

Konklusion

Denne artikel viste dig, hvordan du bruger Hvis - Derefter - Ellers erklæring i Excel med VBA Jeg håber, at denne artikel har været til stor gavn for dig. Du er velkommen til at spørge, hvis du har spørgsmål til emnet.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.