VBA IIF | Kaip „VBA IIF“ funkciją naudoti „Excel“? (su pavyzdžiais)

„Excel VBA IIF“

Jei esate nuolatinis VBA makrokomandų vartotojas, turite susidurti su funkcija, vadinama „IIF“, arba matėte šią funkciją internete. Iš pirmo žvilgsnio jūs turėjote pagalvoti, kad tai yra IF sąlyga, kaip mūsų įprastas IF sakinys „Excel“. Bet tai nėra tas pats IF teiginys, kurį naudojame vertindami loginius testus ir gaudami rezultatus pagal pateiktus kriterijus. Šiame straipsnyje mes apžvelgsime „VBA IIF“ sąlygą VBA.

Ką veikia IIF būklė VBA?

Tai labai panašu į mūsų IF būklę, tačiau šiek tiek kitokio pobūdžio. „VBA IIF“ sąlyga patikrina pateiktą išraišką arba loginį testą ir kaip rezultatą pateikia TRUE arba FALSE.

VBA IIF sintaksė

Pažvelkite į IIF funkcijos sintaksę.

  • Išraiška: tai ne kas kitas, o loginis testas, kurį norėtume atlikti.
  • Ture dalis: jei loginis testas yra TIESA, tai koks turėtų būti TIESOS dalies rezultatas.
  • Klaidinga dalis: jei loginis testas yra NETIESA, tai koks turėtų būti NETIESOS dalies rezultatas.

Mes galime įvesti savo rezultatus su TRUE & FALSE dalimis. Nors argumentai atrodo panašiai kaip IF sąlygos, tai bus šiek tiek kitoks. Tai pamatysime „Excel VBA IIF“ funkcijos pavyzdžiuose.

Vienas iš pagrindinių skirtumų tarp įprasto „IF“ ir šio „IIF“ yra tas, kad mes galime sumažinti kodą iki vienos eilutės su IIF, kur esant IF sąlygai reikia mažiausiai 5 eilučių, kad gautume tą patį rezultatą.

VBA IIF funkcijos pavyzdys

Žemiau pateikiami VBA IIF funkcijos pavyzdžiai.

Šį „VBA IIF Excel“ šabloną galite atsisiųsti čia - „VBA IIF Excel“ šablonas

1 pavyzdys - VBA IIF

Gerai, pamatysime vieną paprastą IIF funkcijos pavyzdį. Dabar mes išbandysime, ar vienas skaičius yra didesnis ar mažesnis nei kitas skaičius. Norėdami parašyti VBA kodą, atlikite toliau nurodytus veiksmus.

1 veiksmas: paleiskite makrokomandą.

2 žingsnis: VBA nustatykite kintamąjį kaip eilutę.

Kodas:

 IIF_Example () Dim FinalResult As String End Sub 

3 žingsnis: VBA nustatykite dar du kintamuosius kaip ilgus.

Kodas:

 II sub_Fexample () „Dim FinalResult“ kaip eilutės pritemdytų skaičius1 kaip ilgų pritemdytų skaičius2 kaip ilgų galų sub 

4 žingsnis: Dabar kintamajam „Number1“ priskirkite 105 reikšmę, o kintamajam „Number2“ - 100.

Kodas:

 II sub_Fxample () Dim FinalResult as String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub 

5 žingsnis: Dabar pirmajam apibrėžtam kintamajam „FinalResult“ priskirsime IIF funkcijos rezultatą. Taigi atidarykite kintamojo IIF.

6 veiksmas: pateikite išraišką kaip skaičius1> skaičius2.

7 žingsnis: Dabar, jei išraiška yra TIESA, koks turėtų būti rezultatas. Rezultatą priskirsiu kaip „Skaičius 1 yra didesnis už Skaičius 2“.

8 žingsnis: Dabar, jei išraiška yra NETIESA, koks turėtų būti rezultatas. Rezultatą priskirsiu kaip „Skaičius 1 yra mažesnis nei Skaičius 2“.

Dabar kintamoji vertė bus viena iš žemiau pateiktų.

Jei tiesa: „Skaičius 1 yra didesnis už skaičių 2“

Jei klaidinga: „1 skaičius yra mažesnis nei 2“

9 žingsnis: Parodykime rezultatą VBA pranešimų laukelyje.

Kodas:

 IIF_pavyzdys () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Skaičius1> Skaičius2, "Skaičius 1 yra didesnis už skaičių 2", "Skaičius 1 yra mažesnis nei skaičius 2") „MsgBox FinalResult End“ antrinė dalis 

Dabar paleiskime kodą ir pamatysime rezultatą.

Kadangi „Number 1“ vertė yra 105, kuri yra didesnė už „Number 2“ reikšmę iš 100, mes gavome rezultatą kaip „Skaičius 1 yra didesnis už skaičių 2“. Kadangi išraiška yra TIESA, IIF sąlyga grąžino šį rezultatą.

2 pavyzdys - IF ir IIF

Jums gali būti įdomu, koks yra skirtumas tarp IF ir IIF. Taip, kodavimas skiriasi. Pavyzdžiui, pažvelkite į IF sąlygų kodą.

Kodas:

 IIF_Pavyzdys () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 If Number1> Number2 Then MsgBox "Number 1 is more than Number 2" Else MsgBox "Number 1 is less than Number 2" End if Pabaigos sub 

Pirmiausia naudodami IF pritaikėme loginį testą.

 Jei Skaičius1> Skaičius2 Tada 

Tada, jei loginis testas teisingas, rezultatą pritaikėme.

„MsgBox“ „Skaičius 1 yra didesnis nei numeris 2“

Tada, jei loginis testas yra klaidingas, mes pritaikėme skirtingus rezultatus.

„MsgBox“ „1 numeris yra mažesnis nei 2“

Abi funkcijos pateikia tą patį rezultatą, tačiau naudodami IIF galime koduoti tik vienoje eilutėje, kur IF sakiniui reikia kelių eilučių.

3 pavyzdys - VBA įdėta IIF sąlyga

Panašiai kaip tai, kaip mes naudojame įdėtą IF, kad išbandytume kelias sąlygas, taip pat galime naudoti kelis IIF. Pažvelkite į žemiau pateiktą kodą.

Kodas:

 IIF_pavyzdys2 () „Dim FinalResult“ kaip eilutė „Dim“ žymės kaip ilgos žymos = 98 „FinalResult“ = IIf (žymės> 90, „dist“, IIf (žymos> 80, „pirmos“, IIf (žymos> 70, „antros“, IIf (žymos) > 60, „Trečiasis“, „Nepavyko“)))) „MsgBox FinalResult End“ antrinis sub 

Pirmiau pateikta IIF sąlyga patikrina penkis loginius testus ir atitinkamai pateikia rezultatą.


$config[zx-auto] not found$config[zx-overlay] not found