Bu dosya, bir sütundaki tekrarlı verilerin ayıklanarak yalnızca benzersiz değerlerin bir UserForm üzerindeki ListBox'ta alfabetik sırayla listelenmesini sağlayan VBA örneğidir. Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Listboxta mükerrer: A1:I105 aralığında kullanılan sayfadır. A sütununda Sivas, Malatya, İstanbul, Kayseri, Samsun, Trabzon, İzmir, Bursa, Kars, Adana, Konya gibi tekrar eden şehir adları bulunur. Listeyi başlatan CommandButton1 düğmesi de bu sayfadadır.
- UserForm2: Benzersiz değerlerin gösterildiği ListBox1 ile benzersiz öğe sayısını yazan Label2 etiketini barındıran form.
Makrolar
- CommandButton1_Click: Sayfadaki düğmeye tıklandığında çalışır. A1:A105 aralığındaki her hücre değeri bir Collection nesnesine anahtar olarak eklenir. Aynı anahtar ikinci kez eklenmeye çalışıldığında oluşan hata On Error Resume Next ile atlandığından koleksiyonda yalnızca benzersiz değerler kalır.
- Benzersiz öğe sayısı UserForm2 üzerindeki Label2 etiketine "Benzersiz Öğe Sayısı" ifadesiyle yazılır.
- İç içe iki döngü ile koleksiyondaki değerler küçükten büyüğe sıralanır, ardından her öğe ListBox1 içine eklenir ve form açılır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Listboxta mükerrer sayfasında A sütununa listelenecek verileri girin.
- Sayfadaki düğmeye tıklayın.
- Açılan formda benzersiz değerler sıralı biçimde ListBox içinde görünür; toplam sayı etiketten okunur.
- Veri aralığı A105 satırından uzunsa VBA Editöründe CommandButton1_Click içindeki A1:A105 adresini genişletin.