VBA IIF | Kā lietot VBA IIF funkciju programmā Excel? (ar piemēriem)

Excel VBA IIF

Ja esat regulārs VBA makro lietotājs, jums noteikti ir nācies sastapties ar funkciju ar nosaukumu “IIF”, vai arī, iespējams, esat redzējis šo funkciju internetā. No pirmā acu uzmetiena jūs noteikti domājāt, ka tas ir IF nosacījums, piemēram, mūsu parastais IF paziņojums programmā Excel. Bet tas nav tas pats IF paziņojums, ko mēs izmantojam, lai novērtētu loģiskos testus un iegūtu rezultātus, pamatojoties uz mūsu sniegtajiem kritērijiem. Šajā rakstā mēs iepazīsimies ar VBA nosacījumu “VBA IIF”.

Ko IIF stāvoklis dara VBA?

Tas ir ļoti līdzīgs mūsu IF nosacījumam, bet pēc būtības nedaudz atšķirīgs. Nosacījums “VBA IIF” pārbauda piegādāto izteiksmi vai loģisko pārbaudi un kā rezultātu atgriež vērtību TRUE vai FALSE.

VBA IIF sintakse

Apskatiet IIF funkcijas sintaksi.

  • Izteiksme: tas nav nekas cits kā loģiskais tests, kuru mēs vēlētos veikt.
  • Ture daļa: Ja loģiskais tests ir PATIESA, kādam jābūt patiesās daļas rezultātam.
  • Nepatiesa daļa: ja loģiskais tests ir FALSE, kādam jābūt FALSE daļas rezultātam.

Mēs varam ievadīt savus rezultātus ar TRUE & FALSE daļām. Lai gan argumenti izskatās līdzīgi IF nosacījuma argumentiem, tie būs nedaudz atšķirīgi. To redzēsim Excel VBA IIF funkcijas piemēros.

Viena no galvenajām atšķirībām starp parasto “IF” un šo “IIF” ir tā, ka mēs varam samazināt kodu līdz vienai rindai ar IIF, kur ar IF nosacījumu, lai sasniegtu tādu pašu rezultātu, nepieciešamas vismaz 5 rindas.

VBA IIF funkcijas piemērs

Zemāk ir VBA IIF funkcijas piemēri Excel.

Šo VBA IIF Excel veidni varat lejupielādēt šeit - VBA IIF Excel veidne

1. piemērs - VBA IIF

Labi, mēs redzēsim vienu vienkāršu IIF funkcijas piemēru. Tagad mēs pārbaudīsim, vai viens skaitlis ir lielāks vai mazāks nekā citam skaitlim. Lai ierakstītu VBA kodu, rīkojieties šādi.

1. darbība: sāciet makro.

2. darbība: definējiet mainīgo kā virkni VBA.

Kods:

 IIF_Piemērs () Dim FinalResult As String End Sub 

3. darbība: definējiet vēl divus mainīgos kā garus VBA.

Kods:

 II apakšsadaļa_Fexample () Dim FinalResult kā virknes aptumšošanas skaitlis1 tikpat gara apjoma numurs2 kā gara gala apakšdaļa 

4. solis: Tagad mainīgajam “Number1” piešķiriet vērtību 105 un mainīgajam “Number2” - vērtību 100.

Kods:

 II apakšsadaļa_Fexample () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub 

5. solis: Tagad pirmajam definētajam mainīgajam “FinalResult” mēs piešķirsim IIF funkcijas rezultātu. Tātad atveriet mainīgā lielumu IIF.

6. solis: norādiet izteicienu kā Number1> Number2.

7. solis: Tagad, ja izteiksme ir PATIESA, kādam jābūt rezultātam. Es piešķiršu rezultātu kā “Skaitlis 1 ir lielāks par Skaitlis 2”.

8. solis: Tagad, ja izteiksme ir FALSE, kādam jābūt rezultātam. Es piešķiršu rezultātu kā “Skaitlis 1 ir mazāks par Skaitlis 2”.

Tagad mainīgā vērtība būs vai nu viena no tālāk norādītajām.

Ja taisnība: “Skaitlis 1 ir lielāks par Skaitlis 2”

Ja False: “Skaitlis 1 ir mazāks par Skaitlis 2”

9. solis: parādīsim rezultātu ziņojumu lodziņā VBA.

Kods:

 IIF_Fxample () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Skaitlis 1 ir lielāks par skaitli 2", "Skaitlis 1 ir mazāks par numuru 2") MsgBox FinalResult End Sub 

Tagad palaidīsim kodu un redzēsim rezultātu.

Tā kā skaitļa 1 vērtība ir 105, kas ir lielāka par skaitļa 2 vērtību 100, rezultāts tika iegūts kā “Skaitlis 1 ir lielāks nekā Skaitlis 2”. Tā kā izteiksme ir PATIESA, IIF nosacījums atgrieza šo rezultātu.

2. piemērs - IF pret IIF

Jums noteikti jābrīnās, kāda ir atšķirība starp IF un IIF. Jā, kodēšanā ir atšķirība. Piemēram, apskatiet IF nosacījuma kodu.

Kods:

 IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 Ja Skaitlis1> Skaitlis2 Tad MsgBox "Skaitlis 1 ir lielāks nekā Skaitlis 2" Cits MsgBox "Skaitlis 1 ir mazāks par Skaitlis 2" Beigas Ja Beigu apakš 

Vispirms izmantojot IF, mēs izmantojām loģisko testu.

 Ja Skaitlis1> Skaitlis2 Tad 

Tad, ja loģiskais tests ir patiess, mēs izmantojām rezultātu.

MsgBox "1. numurs ir lielāks nekā 2. numurs"

Tad, ja loģiskais tests ir kļūdains, mēs izmantojām dažādus rezultātus.

MsgBox "1. numurs ir mazāks par 2. numuru"

Abas funkcijas atgriež to pašu rezultātu, bet ar IIF mēs varam kodēt tikai vienā rindā, kur IF paziņojumam ir nepieciešamas vairākas rindas.

3. piemērs - VBA ligzdots IIF nosacījums

Tāpat kā tas, kā mēs izmantojam ligzdoto IF, lai līdzīgi pārbaudītu vairākus apstākļus, mēs varam izmantot arī vairākus IIF. Apskatiet zemāk esošo kodu.

Kods:

 IIF_Example2 () Dim FinalResult kā virkne Dim Dimks tikpat garas = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Marks> 80, "First", IIf (Marks> 70, "Second", IIf (Marks) > 60, "Trešais", "Neveiksmīgs")))) MsgBox FinalResult End Sub 

Iepriekš minētais IIF nosacījums pārbauda piecus loģiskos testus un attiecīgi atgriež rezultātu.


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