Bu dosya, standart MsgBox ile yapılamayan seçenek düğmeli (OptionButton) seçim penceresinin VBA ile nasıl oluşturulacağını gösterir. GetOption fonksiyonu, pencereyi çalışma anında kendisi üretir; kullanıcının seçtiği sıra numarasını çağıran koda geri verir.
Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir (.xlsm), açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sheet1: A3 hücresinde örneğin kaynağını belirten notlar bulunur. H3:H7 aralığında hayvan adları (Cat, Monkey, Pigeon, Donkey vb.) yer alır; bu aralık Animals adıyla tanımlıdır. Seçim sonuçları A6 ve A7 hücrelerine yazılır.
- modGetOption modülü: GetOption fonksiyonunu içerir.
- Module1 modülü: Demo1 ve Demo2 örnek makroları bulunur.
Makrolar
- GetOption: Üç bağımsız değişken alır: seçenek dizisi, varsayılan seçenek ve pencere başlığı. Geçici bir UserForm ekler, dizideki her öğe için bir OptionButton oluşturur, ayrıca Cancel ve OK düğmelerini ekler. Düğmelerin Click olay kodları da çalışma anında forma yazılır. Pencere kapanınca form silinir. İptal edilirse False, OK ile onaylanırsa seçilen seçeneğin sıra numarası döner.
- Demo1: Ocak-Aralık ay adlarından oluşan diziyi "Select a month" başlığıyla gösterir; seçilen ay A6 hücresine yazılır, iptalde A6 boşaltılır.
- Demo2: Animals adlı aralıktaki hayvan adlarını "What's your favorite animal?" başlığıyla listeler; seçim A7 hücresine yazılır, iptalde A7 boşaltılır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Excel'de Dosya > Seçenekler > Güven Merkezi > Makro Ayarları bölümünden "VBA proje nesne modeline erişime güven" kutusunu işaretleyin.
- Alt+F8 ile Demo1 veya Demo2 makrosunu çalıştırın.
- Açılan pencerede bir seçenek işaretleyip OK düğmesine basın; sonuç Sheet1 üzerindeki A6 veya A7 hücresinde görünür.
- Kendi listeniz için bir dizi hazırlayıp GetOption fonksiyonunu aynı biçimde çağırın.