Bu dosya, Excel verileri üzerinde ADO (ActiveX Data Objects) bağlantısıyla SQL sorgusu çalıştırmayı ve sonucu satırları sütunlara çevirerek (pivot biçiminde) sayfaya yazdırmayı gösterir. Sorgu, VBA makrosu içinden çalıştırılır.
Dosyanın içeriği
- Sayfa1 (A1:D508): sr_no ve gider_kalemi başlıklı liste. Satırlarda MARKET VE GIDA ÜRÜNLERİ, TEMİZLİK ÜRÜNLERİ GİDERİ gibi gider kalemleri yer alır.
- Sayfa2 (A1:N27): Gider kalemlerinin (ARAÇ KİRALAMA GİDERİ, ELEKTRİK FATURASI, KIRTASİYE GİDERİ, TONER DOLUM GİDERİ vb.) sütunlara dağılmış tutarlarını gösteren özet tablo.
- Sayfa3 (A1:H7): tarih ve tutar sütunlarından oluşan küçük örnek veri. Makronun sorguladığı kaynak ve sonucun yazıldığı sayfa budur.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Module1 içindeki denene makrosu şu adımları uygular:- Sayfa3 üzerindeki E1:K100 aralığını temizler.
- Microsoft ACE OLEDB 12.0 sağlayıcısıyla dosyanın kendisine ADO bağlantısı açar; başlık satırı kullanılır (hdr=yes).
- TRANSFORM SUM(tutar), GROUP BY ve PIVOT tarih ifadelerinden oluşan sorguyu çalıştırır; tutarlar tarih sütunlarına göre toplanır.
- Sonucu CopyFromRecordset ile Sayfa3 E2 hücresinden başlayarak yazar.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa3 üzerindeki başlıkları ve verileri sorguya uygun biçimde düzenleyin.
- Alt+F8 ile makro listesini açıp denene makrosunu çalıştırın.
- Sonuç Sayfa3 üzerinde E2 hücresinden itibaren listelenir.
- Kendi verinizde sayfa adını ve sütun adlarını sorgu metninde değiştirin.