Bu dosya, başka bir Excel dosyasını açmadan içindeki verileri okuyup aktif sayfaya yazan bir VBA örneğidir. Veri okuma işlemi ExecuteExcel4Macro ile yapılır. Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sonuc: A1:B23 aralığını kullanan tek sayfadır. Kapalı dosyadan alınan veriler bu sayfaya yazılır. Sayfada CommandButton1 adlı bir düğme bulunur.
- Dosyada formül, tablo, grafik, pivot tablo ya da tanımlı ad yoktur; işlem tamamen makroyla yapılır.
Makrolar
- CommandButton1_Click (Sayfa1): Düğmeye tıklandığında VerileriAl makrosunu çalıştırır.
- VerileriAl (Module1): Kaynak dosya olarak, bu dosyayla aynı klasördeki
kapalı.xlsxdosyasını, kaynak sayfa olarakverilersayfasını kullanır. 3. satırdan 23. satıra kadar döngüyle ilerler; kapalı dosyadaki 2. sütunu (B) bu dosyanın A sütununa, 5. sütunu (E) B sütununa yazar. Daha fazla sütun almak için koddaki Cells/Excel4 satırını çoğaltabilirsiniz. - Excel4 (Module1): Dosya yolu, sayfa adı, satır ve sütun numarasına göre ExecuteExcel4Macro ile ilgili hücrenin değerini döndüren yardımcı fonksiyondur.
Nasıl kullanılır
- Dosyayı zip arşivinden çıkarın ve makroları etkinleştirerek açın.
- Verisini almak istediğiniz dosyanın adını
kapalı.xlsxyapıp bu dosyayla aynı klasöre koyun; içindeverileradlı bir sayfa bulunmalıdır. - Gerekirse VerileriAl içindeki sayfa adını, satır aralığını (3-23) ve sütun numaralarını (2 ve 5) kendi verinize göre değiştirin.
- Sonuc sayfasındaki düğmeye tıklayın; veriler A ve B sütunlarına aktarılır.