Bu dosya, Sayfa1'deki verinin bir UserForm içindeki ListBox'a üç farklı makro yöntemiyle nasıl aktarılacağını gösterir. Yöntemler ReDim ile oluşturulan dizi, RowSource özelliği ve ADO bağlantısıdır. Her yöntem ayrı bir düğmeye bağlıdır, bu nedenle sonuçlar aynı veri üzerinde karşılaştırılabilir.
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: A1:O21 aralığında 15 sütunluk veri tablosu bulunur. Formül içermez.
- UserForm1: ListBox1, dört düğme (CommandButton1-4) ve tarih saat gösteren bir etiket (Label1) içerir.
- Module1: Formu açan prosedürler ve saat güncellemesi için gerekli API tanımları yer alır.
Makrolar
- auto_open: Dosya açıldığında UserForm1'i otomatik olarak gösterir.
- XD: UserForm1'i elle açmak için kullanılır.
- Timerx: user32 kütüphanesindeki SetTimer ile her saniye çağrılır ve formdaki etiketi gün, ay, yıl, gün adı ve saniyeli saat bilgisiyle günceller. Form kapanırken KillTimer zamanlayıcıyı durdurur.
- CommandButton1 (ReDim): Sayfa1'deki 15 sütunluk satırları ReDim Preserve ile büyüyen bir diziye okur ve diziyi ListBox'a .Column özelliğiyle aktarır.
- CommandButton2 (RowSource): A2'den O sütununun son dolu satırına kadar olan aralığı RowSource olarak atar.
- CommandButton3 (ADO): Microsoft.ACE.OLEDB.12.0 sağlayıcısıyla dosyanın kendisine bağlanır, select * from [Sayfa1$] sorgusunu çalıştırır ve sonucu GetRows ile ListBox'a aktarır.
- CommandButton4: ListBox'taki veriyi temizler.
- genislik: Her yöntemden sonra çalışır ve ListBox sütun genişliklerini Sayfa1'deki A:O sütun genişliklerine göre ayarlar.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin; UserForm1 kendiliğinden görüntülenir.
- Veriyi yüklemek için CommandButton1, CommandButton2 veya CommandButton3 düğmesine tıklayın. İşlem bitince bilgi mesajı görüntülenir.
- Listeyi boşaltmak için CommandButton4 düğmesini kullanın.
- Formu kapattıysanız Alt+F8 ile XD makrosunu çalıştırarak yeniden açın.
- Kendi verinizi kullanmak için Sayfa1'in A:O sütunlarına veri girin; satır sayısı son dolu satıra göre otomatik belirlenir.