VBA IIF - Kako uporabiti funkcijo VBA IIF v Excelu? (s primeri)

Excel VBA IIF

Če ste redni uporabnik makrov VBA, ste verjetno že naleteli na funkcijo, imenovano »IIF«, ali pa ste to funkcijo že videli v internetu. Na prvi pogled ste zagotovo mislili, da gre za pogoj IF, kot je naš običajni stavek IF v Excelu. Vendar to ni ista izjava IF, ki jo uporabljamo za ovrednotenje logičnih testov in doseganje rezultatov na podlagi meril, ki jih damo. V tem članku vas bomo vodili skozi pogoj »VBA IIF« v VBA.

Kaj stanje IIF počne v VBA?

To je zelo podobno stanju IF, vendar nekoliko drugačne narave. Pogoj »VBA IIF« preizkusi dobavljeni izraz ali logični test in kot rezultat vrne TRUE ali FALSE.

Sintaksa VBA IIF

Oglejte si sintakso funkcije IIF.

  • Izraz: To ni nič drugega kot logični test, ki bi ga radi izvedli.
  • Ture Part: Če je logični test TRUE, kakšen mora biti TRUE del.
  • False Part: Če je logični test FALSE, kakšen bi moral biti rezultat FALSE dela.

Svoje rezultate lahko vnesemo z TRUE & FALSE deli. Čeprav so argumenti podobni argumentom IF, se bodo ti nekoliko razlikovali. To bomo videli v primerih funkcije Excel VBA IIF.

Ena ključnih razlik med običajnim »IF« in tem »IIF« je ta, da lahko kodo zmanjšamo na eno vrstico z Iwherewithw IF pogojem in potrebujemo najmanj 5 vrstic, da dobimo enak rezultat.

Primer funkcije VBA IIF

Spodaj so primeri funkcije VBA IIF v Excelu.

Primer # 1 - VBA IIF

Ok, videli bomo en preprost primer funkcije IIF. Zdaj bomo preizkusili, ali je eno število večje ali manjše od drugega števila. Za pisanje kode VBA sledite spodnjim korakom.

1. korak: zaženite makro.

2. korak: V VBA spremenljivko definirajte kot niz.

Koda:

Sub IIF_Example () Dim FinalResult As String End Sub

3. korak: V VBA določite še dve spremenljivki kot Long.

Koda:

Pod IIF_Primer () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long End Sub

4. korak: Zdaj spremenljivki »Number1« dodelite vrednost 105, spremenljivki »Number2« pa vrednost 100.

Koda:

Sub IIF_Example () Dim FinalResult as string Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

5. korak: Zdaj bomo za prvo definirano spremenljivko »FinalResult« dodelili rezultat funkcije IIF. Torej odprite IIF za spremenljivko.

6. korak: Vnesite izraz kot Number1> Number2.

7. korak: Če je izraz TRUE, kakšen naj bo rezultat. Rezultat bom dodelil kot »Število 1 je večje od Število 2«.

Korak 8: Če je izraz FALSE, kakšen naj bo rezultat. Rezultat bom dodelil kot »Število 1 je manjše od Število 2«.

Zdaj bo spremenljivka ena od spodnjih.

Če je res: "Število 1 je večje od števila 2."

Če je napačno: »Številka 1 je manjša od številke 2.«

Korak 9: Rezultat prikažemo v polju za sporočila v VBA.

Koda:

Pod IIF_Primer () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Number 1 is Greater than Number 2", "Number 1 is Less than Number 2") MsgBox FinalResult End Sub

Zdaj pa zaženimo kodo in si oglejmo rezultat.

Ker je vrednost številke 1 105, kar je več kot vrednost številke 2 100, smo dobili rezultat kot »številka 1 je večja od številke 2«. Ker je izraz TRUE, je IIF pogoj vrnil ta rezultat.

2. primer - IF v primerjavi z 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"

Obe funkciji vrneta enak rezultat, toda pri IIF lahko kodiramo samo v eno vrstico, kjer stavek IF zahteva več vrstic.

Primer št. 3 - VBA ugnezdena IIF pogoj

Tako kot uporabljamo ugnezdeni IF za podobno testiranje več pogojev, lahko uporabimo tudi več IIF. Oglejte si spodnjo kodo.

Koda:

Sub IIF_Example2 () Dim FinalResult As String Dim Marks As Long Marks = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Marks> 80, "First", IIf (Marks> 70, "Second", IIf (Marks)) > 60, "Tretji", "Neuspeh")))) MsgBox FinalResult End Sub

Zgornji pogoj IIF testira pet logičnih testov in rezultat vrne.

Zanimive Članki...