Bu dosya, bir Excel sayfasındaki masraf kayıtlarını ADO (ActiveX Data Objects) bağlantısı ve SQL sorgusu ile masraf cinsine göre süzmeyi ve sonucu başka bir sayfaya aktarmayı gösteren makrolu bir örnektir. Süzme işlemi bir UserForm üzerindeki açılır kutudan yapılır.
Dosyanın içeriği
- masraf: A1:E23 aralığındaki kaynak veri. Sütunlarda TARİH, MASRAF CİNSİ, TUTAR ve AÇIKLAMA alanları yer alır; kayıtlar 03.08.2020 tarihlidir.
- masrafsorgu: Süzülen kayıtların yazıldığı sonuç sayfası. Başlık satırı sabittir, 2. satırdan itibaren veriler her sorguda yenilenir.
- Dosyada ayrıca sayfalara yerleştirilmiş düğmeler ve iki UserForm bulunur. Düğmeler anasayfa ile sorgu sayfası arasında geçiş yapar ve formları açar.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme ya da dışarıya bağlantı işlemi yoktur; bağlantı yalnızca çalışma kitabının kendisine kurulur.- UserForm_Initialize: Form açıldığında baglan yordamı çalışır. Bu yordam, Microsoft Jet OLEDB 4.0 sağlayıcısı ile dosyanın kendisine ADO bağlantısı açar. Ardından masraf sayfasındaki benzersiz MASRAF CİNSİ değerleri sorgulanır ve ComboBox1 listesine doldurulur.
- CommandButton1_Click (UserForm1): ComboBox boşsa işlem yapılmaz. Seçilen masraf cinsi için TARİH, MASRAF CİNSİ, TUTAR ve AÇIKLAMA alanlarını getiren bir SELECT sorgusu çalıştırılır. masrafsorgu sayfasındaki A2:D65536 aralığı temizlenir, sonuçlar A2 hücresinden itibaren CopyFromRecordset ile yazılır ve sorgu sayfası seçilir.
- Sayfa9 düğmesi UserForm1 formunu açar.
- Sayfa10 üzerindeki bir düğme anasayfa sayfasına döner, diğeri UserForm2 formunu açar.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Formu açan düğmeye tıklayın; UserForm1 görüntülenir.
- Açılır kutudan bir masraf cinsi seçin.
- Düğmeye tıklayın; seçilen cinse ait kayıtlar masrafsorgu sayfasına aktarılır.
- Kendi verinizle kullanmak için masraf sayfasındaki kayıtları değiştirin; sütun düzeni korunmalıdır.