Bu dosya, Sayfa1'deki listede birden fazla kez geçen kayıtları ADO bağlantısı ve SQL sorgusu ile ayıklar; her kaydı Sayfa2'ye yalnızca bir kez yazar. Filtreleme tek bir makro ile yapılır, Gelişmiş Filtre veya formül gerekmez.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: Kaynak veri sayfasıdır. A1:E201 aralığında ADI SOYADI ve SİCİLİ sütunlarında personel kayıtları bulunur; bazı kayıtlar (ör. Nurullah ZARA) listede birden fazla kez yer alır.
- Sayfa2: Hedef sayfadır. Aynı başlıklarla hazır gelir; benzersiz kayıtlar A2 hücresinden itibaren buraya yazılır.
Makrolar
- sil: Sayfa1 kod modülünde yer alır. Jet OLEDB 4.0 sürücüsüyle (Excel 8.0 biçimi, hdr=yes) çalışma kitabının kendisine bağlanır ve Sayfa1 üzerinde SELECT DISTINCT ile GROUP BY içeren bir sorgu çalıştırır. Sorgu ADI SOYADI, MEMLEKETİ ve SİCİLİ alanlarını esas alır; üçü de aynı olan kayıtlar tek satıra indirilir. Ardından Sayfa2'deki A2:C50000 aralığı temizlenir ve sonuç CopyFromRecordset ile A2 hücresinden başlayarak yazılır. Bağlantı ve kayıt kümesi en sonda kapatılır.
- Makro dosya silme veya dışarıya bağlantı işlemi yapmaz; yalnızca dosyanın kendi içindeki verilerle çalışır. Sayfa2'de A2:C50000 aralığına elle girilmiş veri varsa her çalıştırmada silinir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'deki listeyi kendi verilerinizle değiştirin; başlıkları aynı bırakın.
- Alt+F8 tuşlarıyla sil makrosunu seçip çalıştırın.
- Sayfa2'ye geçin; tekrarsız liste A2 hücresinden itibaren yazılmış olur.
- Sayfa1'e yeni kayıt eklendiğinde makroyu yeniden çalıştırın; Sayfa2 baştan oluşturulur.