Bu dosya, bir aralıkta tekrar eden değerlerden benzersiz (tekrarsız) bir liste çıkarmayı gösterir. İşlem, VBA ile yazılmış Benzersiz adlı kullanıcı tanımlı fonksiyon (KTF) ile yapılır. Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: B1:B9 hücrelerinde tekrarlı örnek isim listesi bulunur (Ali, Ahmet, Ayşe, Hasan). Ali dört kez, Ayşe üç kez geçer. Benzersiz listeyi almak için fonksiyon bu verinin yanındaki sütunlarda kullanılır.
- Module1: Benzersiz fonksiyonunu içeren VBA modülü.
Makrolar
- Benzersiz (Aralik, i): Verilen aralıktaki hücreleri tek tek dolaşır ve değerleri bir Collection nesnesine anahtar olarak ekler. Aynı anahtar ikinci kez eklenemediği için tekrarlayan değerler listeye girmez; oluşan hatalar On Error Resume Next ile geçilir. Fonksiyon, benzersiz listenin i. elemanını döndürür. i benzersiz değer sayısından büyükse boş metin döner.
- Fonksiyonda Application.Volatile bulunur; bu nedenle çalışma sayfası her hesaplandığında sonuçlar yenilenir.
- Kodda dosya silme, dış bağlantı gibi zararlı bir işlem yoktur.
Nasıl kullanılır
- Dosyayı açın ve güvenlik uyarısında makroları etkinleştirin.
- Benzersiz listenin başlayacağı hücreye, örneğin D1 hücresine şu formülü yazın:
Ayırıcı İngilizce Excel'de virgüldür: Benzersiz($B$1:$B$9,1)=Benzersiz($B$1:$B$9;1) - Formülü aşağı doğru kopyalayıp ikinci argümanı 2, 3, 4 şeklinde artırın. Bu örnekte Ali, Ahmet, Ayşe ve Hasan sırasıyla listelenir; sonraki satırlar boş kalır.
- Kendi verinizde kullanmak için aralık adresini değiştirin ve benzersiz değer sayısı kadar satıra formülü kopyalayın.
- Dosyayı makro içerdiği için .xlsm biçiminde kaydedin; farklı biçimde kaydedilirse fonksiyon kaybolur.