VBA IIF - Excel'de VBA IIF İşlevi Nasıl Kullanılır? (Örneklerle)

İçindekiler

Excel VBA IIF

Düzenli bir VBA makro kullanıcısıysanız, “IIF” adlı işleve rastlamış olmalısınız veya bu işlevi internette görmüş olabilirsiniz. İlk bakışta, bunun Excel'deki normal EĞER deyimimiz gibi bir EĞER koşulu olduğunu düşünmüş olmalısınız. Ancak bu, mantıksal testleri değerlendirmek ve verdiğimiz kriterlere göre sonuçlara ulaşmak için kullandığımız IF ifadesi ile aynı değildir. Bu makalede, sizi VBA'daki "VBA IIF" durumuna götüreceğiz.

IIF Durumu VBA'da Ne Yapar?

Bu bizim IF durumumuza çok benzer, ancak doğası gereği biraz farklı. "VBA IIF" koşulu, sağlanan ifadeyi veya mantıksal testi test eder ve sonuç olarak DOĞRU veya YANLIŞ döndürür.

VBA IIF Sözdizimi

IIF işlevinin söz dizimine bir göz atın.

  • İfade: Bu, yürütmek istediğimiz mantıksal testten başka bir şey değildir.
  • Gerçek Kısım: Mantıksal test DOĞRU ise, DOĞRU kısmı ne olmalıdır.
  • Yanlış Parça: Mantıksal test YANLIŞ ise, YANLIŞ kısmının sonucu ne olmalıdır.

DOĞRU & YANLIŞ bölümleri ile kendi sonuçlarımızı girebiliriz. Argümanlar IF koşulununkine benzer görünse de, bu biraz farklı olacaktır. Bunu Excel VBA IIF işlevi örneklerinde göreceğiz.

Normal "IF" ile bu "IIF" arasındaki en önemli farklardan biri, IF koşuluyla I ile kodu tek satıra indirebiliriz ve aynı sonuca ulaşmak için en az 5 satır gerekir.

VBA IIF İşlevi Örneği

Aşağıda excel'deki VBA IIF Fonksiyonu örnekleri verilmiştir.

Örnek 1 - VBA IIF

Tamam, IIF işlevinin basit bir örneğini göreceğiz. Şimdi bir sayının başka bir sayıdan büyük veya küçük olup olmadığını test edeceğiz. VBA kodunu yazmak için aşağıdaki adımları izleyin.

Adım 1: Makroyu başlatın.

Adım 2: Değişkeni VBA'da String olarak tanımlayın.

Kod:

Sub IIF_Example () Dim FinalResult As String End Sub

Adım 3: VBA'da Long olarak iki değişken daha tanımlayın.

Kod:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long End Sub

Adım 4: Şimdi, "Sayı1" değişkeni için 105 değerini ve "Sayı2" değişkeni için 100 değerini atayın.

Kod:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

Adım 5: Şimdi, ilk tanımlanmış değişken olan "FinalResult" için IIF fonksiyonunun sonucunu atayacağız. O halde değişken için IIF'yi açın.

Adım 6: İfadeyi Number1> Number2 olarak sağlayın.

Adım 7: Şimdi, eğer ifade DOĞRU ise, sonuç ne olmalıdır. Sonucu “1 numara, 2 numaradan büyük” olarak atayacağım.

Adım 8: Şimdi, eğer ifade YANLIŞ ise, sonuç ne olmalıdır. Sonucu “1 numara, 2 numaradan küçük” olarak atayacağım.

Şimdi değişken değeri aşağıdakilerden biri olacaktır.

Doğruysa: "1 numara, 2 numaradan büyüktür."

Yanlışsa: "1 numara, 2 numaradan küçüktür."

Adım 9: Sonucu VBA'da bir mesaj kutusunda gösterelim.

Kod:

Sub IIF_Example () Dim FinalResult As String 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 2") MsgBox FinalResult End Sub

Şimdi kodu çalıştıralım ve sonucu görelim.

1 Numara değeri 100 olan 2 Numara değerinden büyük olan 105 olduğu için "1 Numara 2 Numara Büyüktür" sonucunu aldık. İfade TRUE olduğundan, IIF koşulu bu sonucu döndürdü.

Örnek 2 - IF vs. 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"

Her iki işlev de aynı sonucu döndürür, ancak IIF ile yalnızca tek bir satırda kodlayabiliriz, burada IF ifadesi birden çok satır gerektirir.

Örnek 3 - VBA Yuvalanmış IIF Koşulu

Birden çok koşulu benzer şekilde test etmek için iç içe geçmiş IF'yi kullanma şeklimiz gibi, birden çok IIF de kullanabiliriz. Aşağıdaki koda bir göz atın.

Kod:

Sub IIF_Example2 () Dim FinalResult As String Dim İşaretleri Uzun İşaretler = 98 FinalResult = IIf (İşaretler> 90, "Dist", IIf (İşaretler> 80, "Birinci", IIf (İşaretler> 70, "İkinci", IIf (İşaretler) > 60, "Üçüncü", "Başarısız")))) MsgBox FinalResult End Sub

Yukarıdaki IIF koşulu beş mantıksal testi test eder ve sonucu buna göre döndürür.

Ilginç makaleler...