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

Satura rādītājs

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 regulārais 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 dotajiem 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 rezultātā tiek atgriezta vērtība 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, tad kādai jābūt patiesai daļai.
  • 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āda, ka mēs varam kodu samazināt līdz vienai rindai ar Iwherewithwith IF nosacījumu, un tā paša rezultāta iegūšanai nepieciešamas vismaz 5 rindas.

VBA IIF funkcijas piemērs

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

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 izmēra 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 Skaitli 2.”

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

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

Kods:

IIF_Piemērs () 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 skaitli 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ā Numurs 2”. Tā kā izteiksme ir PATIESA, IIF nosacījums atgrieza šo rezultātu.

2. piemērs - IF pret 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"

Abas funkcijas atgriež to pašu rezultātu, bet ar IIF mēs varam kodēt tikai vienā rindā, kur IF priekšrakstam 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.

Interesanti raksti...