Excel VBA IIF
Hvis du er en vanlig bruker av VBA-makroer, må du ha kommet over funksjonen kalt “IIF”, ellers har du kanskje sett denne funksjonen på internett. Ved første øyekast, for du må ha trodd at det er en IF-tilstand som vår vanlige IF-uttalelse i Excel. Men dette er ikke den samme HVIS-setningen vi bruker for å evaluere logiske tester og få resultater basert på kriteriene vi gir. I denne artikkelen tar vi deg gjennom "VBA IIF" -tilstanden i VBA.
Hva gjør IIF-tilstand i VBA?
Dette ligner veldig på HVIS-tilstanden vår, men litt annerledes. “VBA IIF” -tilstand tester det angitte uttrykket eller den logiske testen og returnerte enten SANT eller FALSK som et resultat.
VBA IIF syntaks
Ta en titt på syntaksen til IIF-funksjonen.

- Uttrykk: Dette er ingenting annet enn den logiske testen vi ønsker å gjennomføre.
- Ture-del: Hvis den logiske testen er SANT, hva skal da være den SANTE delen.
- Falsk del: Hvis den logiske testen er FALSK, hva skal da være resultatet av den FALSE delen.
Vi kan legge inn våre egne resultater med SANTE & FALSE deler. Selv om argumentene ligner på IF-tilstanden, vil dette være litt annerledes. Vi vil se det i eksemplene på Excel VBA IIF-funksjon.
En av nøkkelforskjellene mellom vanlig "IF" og denne "IIF" er at vi kan redusere koden til en enkelt linje med Iwherewithwith IF condition, og det tar minst 5 linjer å komme til samme resultat.

Eksempel på VBA IIF-funksjon
Nedenfor er eksemplene på VBA IIF Funksjon i excel.
Eksempel # 1 - VBA IIF
Ok, vi får se et enkelt eksempel på IIF-funksjon. Nå skal vi teste om ett tall er større enn eller mindre enn til et annet tall. Følg trinnene nedenfor for å skrive VBA-koden.
Trinn 1: Start makroen.
Trinn 2: Definer variabelen som streng i VBA.
Kode:
Sub IIF_Example () Dim FinalResult Som String End Sub

Trinn 3: Definer to flere variabler som Lang i VBA.
Kode:
Sub IIF_Example () Dim FinalResult Som streng Dim Number1 Som Long Dim Number2 Som Long End Sub

Trinn 4: Nå, for variabelen "Number1" tildel verdien 105 og for variabelen "Number2" tildel verdien 100.
Kode:
Sub IIF_Example () Dim FinalResult Som streng Dim Number1 Som Long Dim Number2 Som Long Number1 = 105 Number2 = 100 End Sub

Trinn 5: Nå, for den første definerte variabelen, "FinalResult," vil vi tildele resultatet av IIF-funksjonen. Så åpne IIF for variabelen.

Trinn 6: Oppgi uttrykket som Number1> Number2.

Trinn 7: Hva skal resultatet være hvis uttrykket er SANT? Jeg vil tildele resultatet som “Nummer 1 er større enn nummer 2”.

Trinn 8: Hva skal resultatet være hvis uttrykket er FALSK? Jeg vil tildele resultatet som “Nummer 1 er mindre enn nummer 2”.

Nå vil variabelverdien være en av nedenstående.
Hvis det er sant: "Nummer 1 er større enn nummer 2."
Hvis falsk: "Nummer 1 er mindre enn nummer 2."
Trinn 9: La oss vise resultatet i en meldingsboks i VBA.
Kode:
Sub IIF_Example () Dim FinalResult Som String Dim Number1 Som Long Dim Number2 Som Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Number 1 is Streater than Number 2", "Number 1 is less than Number 2") MsgBox FinalResult End Sub

La oss nå kjøre koden og se resultatet.

Siden tallet 1 er 105, som er større enn tallet 2 på 100, fikk vi resultatet som "Nummer 1 er større enn nummer 2". Siden uttrykket er SANT, returnerte IIF-tilstanden dette resultatet.
Eksempel 2 - IF vs. IIF
You must be wondering what the difference between IF & IIF is. Yes, there is a difference in coding. For example, look at the IF condition code.
Code:
Sub IIF_Example() Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 If Number1> Number2 Then MsgBox "Number 1 is Greater than Number 2" Else MsgBox "Number 1 is Less than Number 2" End If End Sub

Using IF first, we have applied a logical test.
If Number1> Number2 Then
Then if the logical test is true, we have applied the result.
MsgBox "Number 1 is Greater than Number 2"
Then if the logical test is false, we have applied the different results.
MsgBox "Number 1 is Less than Number 2"
Begge funksjonene returnerer det samme resultatet, men med IIF kan vi bare kode i en enkelt linje, der IF-setningen krever flere linjer.
Eksempel # 3 - VBA nestet IIF-tilstand
Som hvordan vi bruker nestet IF for å teste flere forhold på samme måte, kan vi også bruke flere IIF. Ta en titt på koden nedenfor.
Kode:
Sub IIF_Example2 () Dim FinalResult Som String Dim Marks As Long Marks = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Marks> 80, "First", IIf (Marks> 70, "Second", IIf (Marks) > 60, "Third", "Fail")))) MsgBox FinalResult End Sub

Ovennevnte IIF-tilstand tester fem logiske tester og returnerer resultatet deretter.