VBA'da If Else İfadesi nasıl kullanılır? (Örneklerle)

Excel VBA IF Else Bildirimi

Çalışma sayfasında IF Else ifadesi yoktur ve yalnızca VBA kodunda kullanılabilir, VBA'da çalışırken If koşul ifadesi olan bir koşul sağlayabiliriz ve belirli bir talimat seti yerine getirilirse o zaman yürütülür ve eğer koşul talimatı yerine getirmez, ardından else ifadesi yürütülür.

Mantıksal testler söz konusu olduğunda VBA farklı değildir. Normal çalışma sayfalarında nasıl çalıştığıyla aynı şekilde çalışır. Tüm mantıksal işlevlerden "EĞER" işlevi çoğunlukla partiden kullanılır. IF'yi kullanarak mantıksal bir test gerçekleştirebilir ve mantıksal testin tatmin edilmesi durumunda kararlara varabiliriz ve ayrıca mantıksal test tatmin edilmezse alternatif kararlar alabiliriz.

EĞER Else koşulunun sözdizimi aşağıdadır.

EĞER O halde Mantıksal Test DOĞRU ise Mantıksal Test YANLIŞ ise Sonlandır EĞER

VBA IF Then Else Bildirimi nedir?

Sağlanan mantıksal test FALSE olduğunda, kodun bir parçası olarak yürütmek için bazı alternatif görevlere ihtiyacımız var. Yani "DEĞİLSE", mantıksal test YANLIŞ ise başka ne yapılması gerektiği anlamına gelir.

Aşağıdaki örneği daha iyi anlamak için, sonucu yalnızca mantıksal test DOĞRU ise "10 daha büyüktür" olarak sağladık. Yine de YANLIŞ mantıksal sonuçta alternatif sonucu “10 daha azdır” şeklinde sağlayabiliriz.

Dolayısıyla mantıksal testler sağlandıktan ve sonraki satıra TRUE parça kodu yazıldıktan sonra, "ELSE" kelimesini girin.

ELSE, mantıksal test DOĞRU değilse, sonuca "10 daha azdır" şeklinde ihtiyacımız olduğu anlamına gelir.

Kod:

Alt IF_Else_Example1 () 10> 11 ise MsgBox "10 daha büyük" Else MsgBox "10 daha az" End If End Sub

Şimdi kodumuz yukarıdaki sonuçlardan en az birini veriyor. Kodu çalıştırın ve sonucu görün.

Mantıksal test YANLIŞ ise alternatif sonucu verdiğimiz için, alternatif sonucu "10 daha az" olarak gösterdi çünkü 10 diğer 11 numaradan küçüktür.

Misal

Örneğin, aşağıdaki verilere bakın.

Bu verilerle, her ürünün "Maliyetine" dayalı duruma ulaşmamız gerekiyor. Aşağıdaki duruma ulaşmak için kriterler vardır.

Eğer maliyet fiyatı> 50 olursa durum “olmalıdır , Pahalı ” ya da başka statü olmalıdır “ Pahalı değil .”

Burada maliyet fiyatını, yani maliyet fiyatının> 50 olup olmadığını mantıksal test etmemiz gerekir. Mantıksal test DOĞRU ise, yani maliyet fiyatı 50'den fazlaysa, "Pahalı" durumuna ihtiyacımız var ve mantıksal test YANLIŞ ise, yani maliyet fiyatı 50'den azsa, alternatif sonuca ihtiyacımız var: "Pahalı değil."

Tamam, şimdi kodu yazalım. Bundan önce, yukarıdaki tabloyu kopyalayıp bir excel çalışma sayfasına yapıştırın.

Adım 1: Alt prosedürü başlatın.

Alt IF_ELSE_Example2 () Son Alt

Adım 2: Değişkeni bir Tamsayı veri türü olarak bildirin.

Tamsayı Olarak Dim k

Adım 3: Birden fazla hücre değerini test etmemiz gerektiğinden, hücreler arasında döngü yapmak ve mantığı tüm hücrelere uygulamak için FOR VBA LOOP kullanmalıyız.

Biz 8 2 satırdan mantıksal testleri uygulamak gerekir inci böylece 2 ila 8 LOOP İÇİN başlar, satır.

Kod:

K = 2 ila 8 Sonraki k

Adım 4: Bu döngü içinde mantıksal testi yürütmemiz gerekiyor. Bu nedenle, IF ifadesini açın ve CELLS özelliğini kullanarak ilk hücreyi seçin.

Kod:

Hücreler (k, 2) ise. Değer> 50 O zaman

Burada Hücreler (k, 2) satır (k değeri) ve sütun 2 anlamına gelir.

Adım 5: Bu hücre değeri> 50 ise, sonuca bir sonraki sütun hücresinde "Pahalı" olarak ihtiyacımız var. Yani kod -

Kod:

Hücreler (k, 3) .Value = "Pahalı"

6. Adım: Test DOĞRU değilse, ELSE ifadesi sonuçlarına ihtiyacımız var, yani "Pahalı Değil".

Kod:

Alt IF_ELSE_Example2 () Dim k As Integer For k = 2 To 8 If Hücreler (k, 2) .Değer> 50 Sonra Hücreler (k, 3) .Değer = "Pahalı" Başka Hücreler (k, 3) .Değer = "Değil Pahalı "Bir Sonraki Olsa Sonu Alt Alt

Bu kod , sayıları 2'den 8'e kadar test eder ve maliyet fiyatına göre sonuca ulaşır.

Bunun gibi, alternatif sonuçlara ulaşmak için If-Else kullanabiliriz.

Hatırlanacak şeyler

  • Else ifadesi YANLIŞ mantıksal test içindir.
  • Excel'de ikiden fazla mantıksal test uygulamak istiyorsanız, ELSE IF ifadesini kullanmamız gerekir.
  • Birden fazla hücre için görev yürütme durumunda, döngüler kullanmamız gerekir.
  • Else ifadesi yalnızca bir mantıksal testi test edebilir.

Ilginç makaleler...