Bu dosya, bir Excel sayfasındaki verilerin UserForm üzerindeki ListBox nesnesine nasıl aktarılacağını gösteren makrolu bir örnektir. Form açılırken Sayfa1'deki adlar alfabetik olarak sıralanır ve ListBox içine eklenir. ListBox, ListView'e göre daha sade bir nesnedir; ancak Excel'in her sürümünde sorunsuz çalışması onu listeleme işlerinde pratik kılar.
Dosyanın içeriği
- Sayfa1: A1:B31 aralığını kapsar. A1 hücresinde ADI başlığı bulunur; A2'den itibaren Ahmet, Ali, Aslı, Aycan, Bahadır, Bahattin, Bahtiyar, Canan, Danyal, Deniz, Hale, Hasan, Helin gibi adlar listelenir.
- UserForm1: İçinde ListBox1 nesnesi bulunan formdur ve veriyi bu nesnede gösterir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kod UserForm1 içindeki UserForm_Initialize prosedüründedir ve form her açıldığında otomatik çalışır. Prosedür sırasıyla şunları yapar:- Sayfa1'de A sütunundaki son dolu hücreyi bulup seçer.
- ListBox1.Clear ile listeyi temizler; böylece kayıtlar tekrar tekrar eklenmez.
- A2'den son dolu satıra kadar olan A:B aralığını, A sütununa göre A'dan Z'ye sıralar.
- A2'den son dolu satıra kadar döngü kurar ve her satırdaki adı AddItem ile ListBox'a ekler.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F11 ile VBA düzenleyicisini açın, Project bölümünden UserForm1 formunu çalıştırın (F5).
- Sayfa1'deki adlar alfabetik sırayla ListBox içinde listelenir.
- Kendi verinizi kullanmak için Sayfa1'in A sütununa A2'den başlayarak kayıtları yazın; form bir sonraki açılışta listeyi yeniler.
- Kod son satırı A65536 hücresinden yukarı doğru aradığı için A sütununda veri arasında boş satır bırakmayın.