Bu dosya, Excel şeridine (üst menü) birbiriyle bağlantılı iki açılan liste eklemeyi gösteren örnek bir çalışmadır. Şeritteki ilk listeden il seçilir, ikinci liste seçilen ile ait ilçelerle dolar; seçimler çalışma sayfasındaki hücrelere yazılır.
Dosyanın içeriği
- Veriler: Gizli sayfadır. A sütununda il, B sütununda ilçe listesi yer alır (yaklaşık 25.000 satır). G sütununda 81 ilin adı, H sütununda seçilen ile ait ilçeler listelenir.
- Sayfa1: Seçimlerin görüntülendiği sayfadır. Seçilen il B3 hücresine, seçilen ilçe C3 hücresine yazılır.
- Dosyada özel Ribbon (şerit) tanımı ve RibbonUI adlı bir makro modülü bulunur. Dosyada tanımlı ad olarak RibbonID kullanılır.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Makrolar şerit üzerindeki kontrollerden otomatik olarak çağrılır.- RibbonLoaded_MyCustomAddin: Dosya açıldığında şerit nesnesini saklar ve işaretçisini RibbonID adına kaydeder.
- RefreshRibbon ve GetRibbon: Şeridi yeniler; böylece ilçe listesi il değiştiğinde güncellenir. Yenileme başarısız olursa Excel'in yeniden başlatılması gerektiğini bildiren bir uyarı çıkar.
- GetDDItemCount ve GetDDItemLabel: İl listesini 81 öğe olarak Veriler sayfasındaki G sütunundan doldurur.
- GetDDIlceCount ve GetDDIlceLabel: İlçe listesinin öğe sayısını ve adlarını H sütunundan alır.
- GetDDImage ve GetDDItemImage: Listelerde kullanılan simgeleri belirler.
- ilSec: Seçilen ili B3 hücresine yazar, ilçe listesini oluşturur ve şeridi yeniler.
- ilceSec: Seçilen ilçeyi C3 hücresine yazar.
- ilceliste: Seçilen ile ait ilçeleri Scripting.Dictionary ile tekrarsız olarak ayıklar ve H sütununa yazar. İl seçilmediyse C3 hücresinde "İl seçmediniz!" uyarısı gösterilir.
- siteyiAc ve siteyi1Ac: ShellExecute ile exceldepo.com ve exceldestek.com adreslerini tarayıcıda açar. Bu işlem dış bağlantı açar; dosyada silme veya veri gönderme işlemi yoktur.
- OpenInFireFoxNewTab: Verilen adresi Firefox'ta yeni sekmede açan yardımcı yordamdır; şerit kontrollerinden çağrılmaz.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Şeritteki özel sekmede yer alan il listesinden bir il seçin.
- İlçe listesi seçilen ile göre yenilenir; listeden ilçeyi seçin.
- Sayfa1 sayfasındaki B3 ve C3 hücrelerinde seçimlerinizi görün.
- Kendi çalışmanızda aynı yapıyı kullanmak için makro modülünü ve şerit tanımını kendi dosyanıza uyarlayın; Veriler sayfasındaki il ve ilçe listesi kendi verinizle değiştirilebilir.