Bu dosya, ADO bağlantısı ile bir Excel sayfasındaki kayıtların iki tarih arasında sorgulanmasını ve sonucun başka bir sayfaya aktarılmasını gösteren makrolu bir örnektir. Başlangıç ve bitiş tarihi Sayfa1'de girilir; makro bu aralığa uyan satırları SQL sorgusuyla seçer ve Sayfa2'ye yazar.
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:L19). Sütun başlıkları arasında Sicil, Adı, Soyadı, Işe Giriş T, Çıkış T., Görev ve ÇALIŞMA GÜNÜ bulunur. Sorgulanacak tarih aralığı L2 (başlangıç) ve L3 (bitiş) hücrelerinden okunur.
- Sayfa2: Sonuç sayfasıdır (A1:E5). Sorguya uyan kayıtlar A2 hücresinden itibaren listelenir.
Makrolar
Dosyada Module1 içinde user adlı tek bir makro vardır. Makro sırasıyla şunları yapar:- Sayfa2'deki A2:E10000 aralığını temizler, böylece önceki sonuçlar silinir.
- Microsoft ACE OLEDB 12.0 sağlayıcısı ile dosyanın kendisine ADO bağlantısı açar.
- L2 ve L3 hücrelerindeki tarihleri okur.
- Sayfa1'den Sicil, Adı, Soyadı, Işe Giriş T ve ÇALIŞMA GÜNÜ sütunlarını, Işe Giriş T değeri iki tarih arasında kalan ve Sicil alanı boş olmayan kayıtlar için seçer.
- Sonucu CopyFromRecordset ile Sayfa2'nin A2 hücresinden başlayarak yazar.
- Bağlantıyı kapatır, Sayfa2'yi açar ve "İşlem Tamam" mesajını gösterir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'de L2 hücresine başlangıç, L3 hücresine bitiş tarihini girin.
- Gerekirse Sayfa1'deki personel kayıtlarını kendi verilerinizle değiştirin; sütun başlıkları sorguda kullanıldığı için aynı kalmalıdır.
- Alt+F8 ile user makrosunu çalıştırın.
- Sayfa2'de listelenen kayıtları kontrol edin.