Vba kullanarak aralıktaki benzersiz değerler nasıl sayılır?


VBA’yı kullanarak bir aralıktaki benzersiz değerlerin sayısını saymak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 SubCountUnique ()
    Dim Rng As Range, List As Object, UniqueCount As Long
    Set List = CreateObject(" Scripting.Dictionary ")
    
    'count unique values in range A2:A11
    For Each Rng In Range(" A2:A11 ")
      If Not List.Exists(Rng.Value) Then List.Add Rng.Value, Nothing
    Next
    
'store unique count
UniqueCount = List.Count
    
    ' display unique count
    MsgBox " Count of Unique Values: " & UniqueCount

End Sub

Bu özel örnek, A2:A11 aralığındaki benzersiz değerlerin sayısını sayar ve ardından bu sayıyı bir mesaj kutusunda görüntüler.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA Kullanarak Aralıktaki Benzersiz Değerleri Sayma

Excel’de aşağıdaki basketbol takımı adları listesine sahip olduğumuzu varsayalım:

A2:A11 aralığındaki benzersiz takım adlarının sayısını saymak istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 SubCountUnique()
Dim Rng As Range, List As Object, UniqueCount As Long
    Set List = CreateObject(" Scripting.Dictionary ")
    
    'count unique values in range A2:A11
For Each Rng In Range(" A2:A11 ")
      If Not List.Exists(Rng.Value) Then List.Add Rng.Value, Nothing
    Next
    
    'store unique count
    UniqueCount = List.Count
    
    'display unique count
    MsgBox " Count of Unique Values: " & UniqueCount

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Tek VBA numarası

Mesaj kutusu bize 5 benzersiz takım adının olduğunu söylüyor.

Benzersiz takım adlarının her birini manuel olarak tanımlayarak bunun doğru olduğunu doğrulayabiliriz:

  • Mav’ler
  • Sıcaklık
  • Ağlar
  • Savaşçılar
  • krallar

Aslında 5 benzersiz takım adı var.

Not : Farklı bir aralıktaki benzersiz değerlerin sayısını saymak için, For Every döngüsündeki A2:A11’i farklı bir aralıkla değiştirmeniz yeterlidir.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Belirli bir metin içeren hücreler nasıl sayılır?
VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir