VBA COUNTIF
Kriter tabanlı fonksiyonlar, hesaplamalarda excel'in hükümdarıdır. Excel öğrenmenin başlangıcında, COUTNIF sürecini excel'de öğrenmiş olmalıyız. Önceki makalelerimizde, Excel VBA'da COUNTIF işleviyle nasıl çalışılacağını göstermiştik.
Excel VBA'daki COUNTIF işlevinin temellerini öğrenmek için Excel'de COUNTIF Formülü hakkındaki makalemize bakın. Bu yazımızda sizlere aynı işlevi VBA kodlamada nasıl kullanacağınızı göstereceğiz. Şimdi aynı formülü VBA'da göreceğiz. İlk olarak, EĞERSAY bir VBA işlevi değildir; bunun yerine, çalışma sayfası işlev sınıfı altında erişilebilen bir çalışma sayfası işlevidir.

Excel VBA Countif İşlevi Örneği
Tamam, basit örneğe bakalım.
Aşağıdaki aynı partiden değer sayma örneğine bakın.

Yukarıdaki resimde, A1 hücresinden A10'a şehir isimlerimiz var. C3 hücresinde, "Bangalore" şehir adının A1 ila A10 aralığında kaç kez göründüğünü saymamız gerekir.
Tamam, EĞERSAY işlevini uygulamak üzere kodu yazmak için aşağıdaki adımları izleyin.
Adım 1: Alt prosedürü başlatın.
Kod:
Seçenek Açık Alt Sayif_Örnek1 () Son Alt

Adım 2: Sonucu C3 hücresine kaydetmemiz gerektiğinden, Aralığı ("C3") başlatın.
Kod:
Alt SayımÖrnek1 () Aralık ("C3"). Değer = Son Alt

Adım 3: C3 hücresinde excel VBA COUNTIF işlevini uygulayarak sonuca ulaşmaya çalışıyoruz. İşleve erişmek için önce Çalışma Sayfası İşlev sınıfını kullanmamız gerekir.
Kod:
Alt SayımÖrneği1 () Aralık ("C3"). Değer = Çalışma SayfasıFonksiyonu. Sub

Adım 4: Kayıptan excel VBA COUNTIF işlevini seçin.
Kod:
Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (End Sub

Adım 5: VBA COUNTIF işlevinin parametrelerine bakarsanız, çalışma sayfasında gördüğümüz gibi parametreyi görmeyiz.

Çalışma sayfasındaki yukarıdaki resimde görebileceğimiz gibi, tam sözdizimimiz var, ancak VBA'da yalnızca Arg 1 ve Arg 2'yi görebiliriz.
Arg 1 Aralıktır, bu nedenle aralığı A1 - A10 olarak seçin.
Kod:
Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), End Sub

Adım 6: Arg 2, A1'den A10'a kadar saymamız gereken değerdir. Bu örnekte, "Bangalore" u hesaplamamız gerekiyor.
Kod:
Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), "Bangalore") End Sub

Tamam, bitirdik.
Sonucu C3 hücresinde görmek için kodu çalıştırın.

Sonucu 4 olarak aldık. A1, A4, A7 ve A10 VBA COUNTIF işlevi hücresinde görünen “Bangalore” şehir adı ürünü 4 olarak döndürdüğünden.
VBA kodunun yalnızca formülün sonucunu döndürdüğünü görüyorsanız, formül çubuğundaki prosedürü öğrenemeyiz.

Formüle ulaşmak için kodu biraz farklı yazmamız gerekiyor. Formülün kendisini hücreye uygulamanız için kod aşağıdadır.
Kod:
Sub Countif_Example1 () Range ("C3"). Formula = "= CountIf (A1: A10," "Bangalore" ")" End Sub
Bu, formülü C3 hücresine uygulayacaktır.

Değişkenlerle Sonuca Ulaşın
Değişkenler, herhangi bir kodlama dilinin ayrılmaz bir parçasıdır. VBA kodu ile verimli çalışabilmek için değişkenleri tanımlamamız gerekiyor. Örneğin, aşağıdaki koda bakın.
Kod:
Sub Countif_Example2 () Dim ValuesRange as Range Dim ResultCell as Range Dim CriteriaValue As String Set ValuesRange = Range ("A1: A10") Set ResultCell = Aralık ("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue ) Sub
Daha iyi anlamanız için kodu çözmeme izin verin.
Öncelikle iki değişkeni Aralık olarak tanımladım.
Dim ValuesRange As Range: Bu, değerler listesine başvurmak içindir.
Dim ResultCell As Range: Bu, sonuç hücresine başvurmak içindir.
Sonra her iki değişkene de referans aralığını ayarladım.
Set ValuesRange = Range ("A1: A10"): Bu, tüm şehir adlarının bulunduğu aralıktır.
ResultCell'i Ayarla = Aralık ("C3"): Bu hücrede, EĞERSAY işlevinin sonucunu kaydedeceğiz.
Bu arada, kriter değerini saklamak için bir değişken daha tanımladım.
Dim CriteriaValue As String
CriteriaValue = "Bangalore"
Şimdi "CriteteriaValue" değişkeni "Bangalore" değerini taşıyor.
Sonraki satırda, her zamanki gibi COUTNIF işlevini uyguladım.
ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)
Bunun gibi, gereksinimlerimize uyması için Excel VBA'da COUNTIF işlevini uygulayabiliriz.