VBA ComboBox

ComboBox'lar kullanıcıların bir açılır menü listesinden bir seçenek seçmesine izin verin. ComboBox'lar, VBA UserForms'da veya bir Excel çalışma sayfasıyla oluşturulabilir. Bu öğreticide, VBA'da ve Excel çalışma sayfalarında ComboBox'ların nasıl oluşturulacağını ve değiştirileceğini öğreneceksiniz.

Listbox oluşturmayı öğrenmek istiyorsanız buraya tıklayın: VBA Listbox

Bir Onay Kutusunun nasıl oluşturulacağını öğrenmek istiyorsanız, buraya tıklayın: VBA Onay Kutusu

Excel Çalışma Sayfasında Bir ComboBox Oluşturun

Çalışma Sayfasına bir ComboBox eklemek için, şuraya gitmeniz gerekir: Geliştirici sekmesi, Tıklayın Sokmak ve ActiveX Denetimleri altında seçin Açılan kutu:

Resim 1. Çalışma Sayfasına Bir ComboBox Ekleme

Eklediğiniz ComboBox'ı seçtiğinizde, üzerine tıklayabilirsiniz. Özellikler altında Geliştirici sekmesi:

Resim 2. ComboBox Özelliklerini Değiştirin

Burada ComboBox'ın farklı özelliklerini ayarlayabilirsiniz. Başlamak için niteliği değiştirdik İsim ile cmbComboBox. Artık ComboBox'ı bu adla VBA kodunda kullanabiliriz.

VBA kodunda bir ComboBox doldurun

İlk olarak, ComboBox'ı değerlerle doldurmamız gerekiyor. Çoğu durumda, Çalışma Kitabı açıldığında bir ComboBox'ın doldurulması gerekir. Bu nedenle, ComboBox'ı nesneye yerleştirmek için bir kod koymamız gerekiyor. Çalışma kitabı, prosedür Açık. Bu prosedür, bir kullanıcı Çalışma Kitabını her açtığında yürütülür. İşte kod:

123456789 Sheet1.cmbComboBox ile.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"İle bitmek

Açılır menüyü tıkladığınızda, seçebileceğiniz 5 isim göreceksiniz (John, Michael, Jennifer, Lilly ve Robert):

Resim 3. ComboBox'ı VBA'da doldurun

Bir Hücre Aralığındaki Bir ComboBox'ı Doldurun

Bir ComboBox'ı doldurmanın başka bir olası yolu, bir kullanıcının bunu yapmasına izin vermektir. Bir ComboBox, hücre aralığına bağlanabilir. Bu yaklaşımda, bir kullanıcı hücre aralığına her yeni değer girdiğinde, ComboBox bu değerle güncellenir.

Bunu etkinleştirmek istiyorsanız, şuraya gitmeniz gerekir: Özellikler ComboBox'ın ve özniteliği ayarlayın ListeFillRange hücre aralığına (bizim durumumuzda E2:E5):

Resim 4. ComboBox'ı hücre aralığından doldurun

ComboBox'ımızı, istediğimiz isimleri koyduğumuz E2:E5 aralığına bağladık (Nathan, Harry, George, Roberta). Sonuç olarak, ComboBox artık şu adlarla doldurulur:

Resim 5. Hücre aralığından Doldurulmuş ComboBox

VBA'da bir ComboBox Seçilmiş Öğesini Alın

Bir ComboBox'ın amacı, bir kullanıcı seçimi elde etmektir. Bir kullanıcının seçimini almak için bu kodu kullanmanız gerekir:

123 Varyant Olarak Dim strSelectedItemstrSelectedItem = Sheet1.cmbComboBox.Value

Kullanıcı seçimi öznitelikte bulunur Değer ile ilgili Sheet1.cmbComboBox nesne. Bu değer değişkene atanır. strSelectedItem:

Resim 6. VBA'daki ComboBox'tan seçilen bir değeri alın

biz seçtik Julia ComboBox'ta ve prosedürü yürüttü. Resim 5'te de görebileceğiniz gibi, strSelectedItem NS Julia, bu bizim seçtiğimiz değerdir. Şimdi bu değişkeni kodda daha fazla işleyebilirsiniz.

Bir ComboBox'ı Temizle

VBA'da bir ComboBox'ı temizlemek istiyorsanız, kullanmanız gerekir. Açık yöntemi Sheet1.lstComboBox nesne. ComboBox'taki tüm öğeleri siler. İşte kod:

1 Sheet1.cmbComboBox.Clear

Kodu çalıştırdığımızda, boş ComboBox'ı alırız:

Resim 7. ComboBox'ı temizleyin

Bir Kullanıcı Formunda ComboBox kullanın

Bahsettiğimiz gibi, Combobox en çok Kullanıcı Formlarında kullanılır. Bunu nasıl yapabileceğinizi açıklamak için önce bir Kullanıcı Formu ekleyeceğiz. VBA düzenleyicide, Modül adına sağ tıklayın, üzerine tıklayın. Sokmak ve Seç Kullanıcı Formu:

Resim 8. Bir Kullanıcı Formu Ekle

Ekleme denetimlerini görüntülemek için, araç kutusu. Bunu yapmak için, üzerine tıklayınaraç kutusu araç çubuğundaki simge. Bundan sonra, mevcut tüm kontrollerle pencereleri alacaksınız. üzerine tıklayabilirsiniz Açılan kutu Kullanıcı formunda oluşturmak için.

Resim 9. Kullanıcı Formuna Bir ComboBox Ekleme

ComboBox'ı adlandıracağız cmbComboBox. Değerlerle doldurmak için aşağıdaki kodu metoda koymamız gerekiyor. başlat nesnenin Kullanıcı Formu:

12345678910111213 Özel Alt UserForm_Initialize()UserForm1.cmbComboBox ile.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"İle bitmekAlt Bitiş

Bu kod, bir kullanıcı Kullanıcı formunu her çalıştırdığında tetiklenir ve Combobox'ı şu 5 adla doldurur:

Resim 10. Kullanıcı formundaki değerlere sahip ComboBox

ComboBox'tan seçilen değeri almak istiyorsanız, makalenin önceki bölümlerinde açıklanan Çalışma Sayfasındaki Combobox için aynı mantığı kullanmanız gerekir.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave