VBA IIF - Kako koristiti VBA IIF funkciju u programu Excel? (s primjerima)

Sadržaj

Excel VBA IIF

Ako ste redoviti korisnik VBA makronaredbi, tada ste sigurno naišli na funkciju zvanu "IIF", ili ste ovu funkciju možda vidjeli na internetu. Na prvi pogled, zasigurno ste mislili da je to IF uvjet poput našeg redovitog IF izraza u Excelu. Ali ovo nije ista IF izjava koju koristimo za procjenu logičkih testova i dobivanje rezultata na temelju kriterija koje dajemo. U ovom ćemo vas članku provesti kroz stanje „VBA IIF“ u VBA.

Što IIF uvjeti rade u VBA?

Ovo je vrlo slično našem IF stanju, ali malo drugačije prirode. Uvjet “VBA IIF” testira isporučeni izraz ili logički test i kao rezultat vraća TRUE ili FALSE.

Sintaksa VBA IIF

Pogledajte sintaksu funkcije IIF.

  • Izraz: Ovo nije ništa drugo nego logični test koji bismo željeli provesti.
  • Dio ture: Ako je logički test ISTINA, što bi onda trebao biti ISTINIT dio.
  • Lažni dio: Ako je logički test FALSE, koji bi trebao biti rezultat FALSE dijela.

U vlastite rezultate možemo unijeti TRUE & FALSE dijelove. Iako argumenti izgledaju slični onima iz IF uvjeta, ovo će biti malo drugačije. To ćemo vidjeti na primjerima funkcije Excel VBA IIF.

Jedna od ključnih razlika između uobičajenog "IF" i ovog "IIF" jest da kod možemo svesti u jedan redak s Iwherewithw IF uvjetom, a potrebno je najmanje 5 redaka da se dobije isti rezultat.

Primjer VBA IIF funkcije

Ispod su primjeri VBA IIF funkcije u Excelu.

Primjer # 1 - VBA IIF

Ok, vidjet ćemo jedan jednostavan primjer IIF funkcije. Sada ćemo testirati je li jedan broj veći ili manji od drugog broja. Slijedite korake u nastavku za pisanje VBA koda.

Korak 1: Pokrenite makronaredbu.

Korak 2: Definirajte varijablu kao String u VBA.

Kodirati:

Sub IIF_Example () Dim FinalResult As String End Sub

Korak 3: U VBA definirajte još dvije varijable kao Long.

Kodirati:

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

Korak 4: Sada za varijablu “Number1” dodijelite vrijednost 105, a za varijablu “Number2” vrijednost 100.

Kodirati:

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

Korak 5: Sada ćemo za prvu definiranu varijablu „FinalResult“ dodijeliti rezultat IIF funkcije. Dakle, otvorite IIF za varijablu.

Korak 6: Navedite izraz kao Broj1> Broj2.

Korak 7: Ako je izraz TRUE, kakav bi trebao biti rezultat. Rezultat ću dodijeliti kao "Broj 1 je veći od broja 2".

Korak 8: Ako je izraz FALSE, kakav bi trebao biti rezultat. Rezultat ću dodijeliti kao "Broj 1 je manji od broja 2".

Sada će vrijednost varijable biti jedno od dolje navedenih.

Ako je Tačno: "Broj 1 je veći od broja 2"

Ako je netočno: "Broj 1 je manji od broja 2"

Korak 9: Prikažimo rezultat u okviru za poruke u VBA.

Kodirati:

Sub IIF_Example () Dim FinalResult As string Niz 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 Kraj Sub

Ajmo sada pokrenuti kod i vidjeti rezultat.

Budući da je vrijednost broja 1 105, što je veće od vrijednosti broja 2 od 100, dobili smo rezultat kao „Broj 1 je veći od broja 2”. Budući da je izraz TRUE, uvjet IIF vratio je ovaj rezultat.

Primjer # 2 - IF u odnosu na 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"

Obje funkcije daju isti rezultat, ali s IIF-om možemo kodirati samo u jednom retku, gdje izraz IF zahtijeva više redaka.

Primjer # 3 - VBA ugniježđeno IIF stanje

Kao što koristimo ugniježđeni IF za slično testiranje više uvjeta, možemo koristiti i višestruke IIF. Pogledajte donji kod.

Kodirati:

Sub IIF_Example2 () Zatamni FinalResult kao niz Zatamni kao duge oznake = 98 FinalResult = IIf (Oznake> 90, "Dist", IIf (Oznake> 80, "Prvo", IIf (Oznake> 70, "Drugo", IIf (Oznake > 60, "Treće", "Neuspjeh")))) MsgBox FinalResult Kraj Sub

Gornji IIF uvjet testira pet logičkih testova i u skladu s tim vraća rezultat.

Zanimljivi članci...