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

„Excel VBA IIF“

Jei esate nuolatinis VBA makrokomandų vartotojas, turite būti susidūrę 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 dėl to grąžino 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, tada kokia turėtų būti TIKRA dalis.
  • 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šūs į IF sąlygą, tai šiek tiek skirsis. Tai pamatysime „Excel VBA IIF“ funkcijos pavyzdžiuose.

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

VBA IIF funkcijos pavyzdys

Žemiau pateikiami VBA IIF funkcijos pavyzdžiai.

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_Fxample () Dim FinalResult as String Dim Number1 As Long Dim Number2 as Long End 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 reikšmė bus viena iš žemiau pateiktų.

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

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

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

Kodas:

IIF_pavyzdys () „Dim FinalResult“ kaip eilutės „Dim Number1“ kaip „Long Dim“ skaičius2 kaip „Long Number1“ = 105 skaičius2 = 100 „FinalResult“ = IIf (skaičius1> skaičius2, „skaičius 1 yra didesnis nei skaičius 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“ vertės 100 reikšmę, rezultatą gavome 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

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"

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

Kaip ir tai, kaip mes naudojame įdėtą IF, kad panašiai 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 poskyris

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

Įdomios straipsniai...