Bu dosya, aynı Excel sayfasına iki farklı türde eklenmiş ListBox nesnesini ve bunlardan seçilen değerlerin VBA ile nasıl okunduğunu gösterir. Biri Form Control, diğeri ActiveX ListBox'tır. ListBox, TextBox, ComboBox gibi nesneler UserForm üzerinde olduğu gibi sayfa üzerinde de kullanılabilir; dosya bu iki yöntemin farkını yan yana inceleme imkanı verir.
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
Dosyada "ListBox" adlı tek bir sayfa vardır (B1:I12 aralığı).- H sütununda Şubat'tan Aralık'a kadar ay adları listelenir; bu liste ListBox nesnelerinin veri kaynağıdır.
- G2 hücresinde 4, I2 hücresinde 132215 değeri bulunur. Makro, ActiveX ListBox'ın ikinci sütunundaki değerleri toplarken bu tür sayısal verilerden yararlanır.
- B7 hücresinde "Form Control ListBox" etiketi yer alır.
- Sayfada formül, tablo, grafik veya veri doğrulama yoktur.
Makrolar
Dosyada Module1 içinde Secili adlı tek bir makro vardır.- Önce sayfadaki "lstTekil" adlı Form Control ListBox'a ve Sheet1 üzerindeki ListBox1 adlı ActiveX ListBox'a başvuru kurar.
- Tekil seçim için bir MsgBox açar; bu pencerede Form Control ListBox'ın ListFillRange değeri, LinkedCell adresi ve seçili öğenin metni gösterilir.
- ActiveX ListBox'ta 0'dan ListCount - 1'e kadar döngü kurar, seçili öğeleri Msg değişkeninde birleştirir ve Column(1, I) ile ikinci sütundaki değerleri toplar.
- Çoklu seçimde seçilen öğeleri ve toplamı ("#,##0" biçiminde) ikinci bir MsgBox ile gösterir.
- Kodda dosya silme veya dışarıya bağlantı gibi zararlı bir işlem yoktur.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Form Control ListBox'ta bir ay seçin, ActiveX ListBox'ta ise birden fazla öğe işaretleyin.
- Alt+F8 ile
Secilimakrosunu çalıştırın. - Önce tekil seçim bilgilerini, ardından çoklu seçim listesini ve toplamı gösteren pencereleri inceleyin.
- Kendi çalışmanızda nesne adlarını ve veri aralığını değiştirerek kodu uyarlayabilirsiniz.