Bu dosya, aynı sayfadaki iki listeyi (Liste-1 ve Liste-2) ADO bağlantısı ve SQL sorguları kullanarak karşılaştırır. Sonuçlar, her ölçüt için ayrı bir sütunda alt alta listelenir. ADO ile çalışmak isteyen kullanıcılar için örnek bir çalışmadır.
Önemli: Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir.
Önemli: Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
Dosyada tek sayfa vardır: Karşılaştırma. Sayfanın yapısı şöyledir:- A sütunu: LİSTE-1, B sütunu: LİSTE-2 (3. satırdan itibaren veriler yer alır, örnek olarak ahmet, mehmet, ali, veli, osman, can gibi isimler vardır).
- C sütunu: Liste1'de Benzersiz
- D sütunu: Liste2'de Benzersiz
- E sütunu: İki Listede aynı olan
- F sütunu: Liste1'de var, Liste2'de yok
- G sütunu: Liste2'de var, Liste1'de yok
- H sütunu: İki Listede benzersiz olan
- I sütunu: Liste1'de Benzeyenler
- J sütunu: Liste2'de Benzeyenler
- K sütunu: İki listede farklı olan
Makrolar
Dosyada Module1 içinde exceldestek adlı tek bir makro vardır. Makro şunları yapar:- A3 hücresi boşsa C3:J35536 aralığındaki sonuçları temizler ve çıkar.
- Microsoft ACE OLEDB 12.0 sağlayıcısı ile dosyanın kendisine ADO bağlantısı açar.
- Önceki sonuçları temizler, ardından dokuz SQL sorgusunu sırayla çalıştırır. Sorgularda DISTINCT, EXISTS / NOT EXISTS, UNION ve GROUP BY ... HAVING COUNT yapıları kullanılır.
- Her sorgunun sonucunu CopyFromRecordset ile ilgili sütunun 3. satırından itibaren yazar.
- İşlem bitince "İşlem Tamam" mesajı gösterir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Karşılaştırmak istediğiniz verileri A ve B sütunlarına, 3. satırdan başlayarak yazın.
- exceldestek makrosunu çalıştırın (Alt+F8 ile ya da sayfaya atanmış bir düğme varsa onunla).
- C:K sütunlarındaki sonuçları inceleyin.
- Sonuçları temizlemek için A3 hücresini boşaltıp makroyu yeniden çalıştırın.