Vba: bir sütundan benzersiz değerler nasıl alınır?


Excel’deki bir sütundan benzersiz değerlerin listesini hızlı bir şekilde almak için VBA’daki AdvancedFilter işlevini kullanabilirsiniz.

İşte bunu yapmanın yaygın bir yolu:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Bu özel örnek, A1:A11 aralığından benzersiz değerlerin bir listesini çıkarır ve bunları E1 hücresinden görüntüler.

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

Örnek: VBA kullanarak bir sütundan benzersiz değerler alma

Diyelim ki Excel’de çeşitli basketbol oyuncuları hakkında bilgiler içeren aşağıdaki veri kümesine sahibiz:

Diyelim ki Ekip sütunundan benzersiz değerlerin bir listesini çıkarmak istiyoruz.

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

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

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

E Sütunu artık orijinal veri kümesindeki Ekip sütunundaki benzersiz değerlerin bir listesini görüntülüyor.

AdvancedFilter yönteminin büyük/küçük harfe duyarlı olmadığını unutmayın.

Örneğin, aynı sütunda “MAVS” ve “Mavs” takım adları olsaydı, bu özel makro, tamamen aynı karakterleri paylaştıklarından, Takım sütununda görünen bu iki değerden yalnızca ilkini döndürürdü.

Not : VBA’daki AdvancedFilter yönteminin tam belgelerini burada bulabilirsiniz.

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: Aralıktaki benzersiz değerler nasıl sayılır?

Yorum ekle

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