VBA Liste Kutusu

VBA'da bir Liste kutusu burada bir kullanıcı listelenen seçeneklerden birini seçebilir. Liste kutusu genellikle Kullanıcı Formlarında kullanılır, ancak bir Çalışma Sayfasında da kullanılabilir. Bu öğreticide, bir Liste Kutusunun nasıl oluşturulacağını, doldurulacağını ve silineceğini öğreneceksiniz. Ayrıca VBA'da bir kullanıcı seçiminin nasıl alınacağını ve kodda nasıl kullanılacağını da göreceksiniz.

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

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

Liste Kutusu Oluşturun

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

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

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

Resim 2. Liste Kutusu Özelliklerini Değiştirin

Burada Listbox'ın farklı özelliklerini ayarlayabilirsiniz. Başlangıç ​​için, niteliği değiştirdik İsim ile lstListBox. Artık VBA kodunda bu isimle Listbox'ı kullanabiliriz.

VBA kodunda bir Liste Kutusu doldurun

İlk olarak, Listbox'ı değerlerle doldurmamız gerekiyor. Çoğu durumda, Çalışma Kitabı açıldığında bir Liste Kutusunun doldurulması gerekir. Bu nedenle, Listbox'ı nesneye doldurmak 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.lstListBox ile.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"İle bitmek

Resim 3'te görebileceğiniz gibi, Liste Kutumuzu 5 isim ile doldurduk (John, Michael, Jennifer, Lilly ve Robert):

Resim 3. Liste Kutusunu VBA'da Doldurun

Hücre Aralığındaki Liste Kutusunu Doldur

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

Bunu etkinleştirmek istiyorsanız, şuraya gitmeniz gerekir: Özellikler ListBox ve özniteliği ayarlayın ListeFillRange:

Resim 4. Liste kutusunu hücre aralığından doldurun

Liste kutumuzu, istediğimiz isimleri koyduğumuz (Nathan, Harry, George, Roberta) E2:E5 aralığına bağladık. Sonuç olarak, Liste Kutusu artık bu adlarla doldurulur.

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

Bir Liste Kutusunun amacı, bir kullanıcı seçimi elde etmektir. Bir kullanıcı tarafından seçilen bir değeri almak için bu kodu kullanmanız gerekir:

123 Varyant Olarak Dim strSelectedItemstrSelectedItem = Sheet1.lstListBox.Value

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

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

biz seçtik Harry Liste kutusunda ve prosedürü yürüttü. Resim 5'te de görebileceğiniz gibi, strSelectedItem NS Harry, bu bizim seçtiğimiz değerdir. Ayrıca, bu değişkeni kodda işleyebilirsiniz.

Liste Kutusunu Temizle

VBA'da bir Liste Kutusunu temizlemek için kullanmanız gerekir. Açık yöntemi Sheet1.lstListBox nesne. Liste kutusundan tüm öğeleri siler. İşte kod:

1 Sheet1.lstListBox.Clear

Kodu çalıştırdığımızda boş Listbox'ı alıyoruz:

Resim 6. Liste Kutusunu Temizleyin

Bir Kullanıcı Formunda Liste Kutusu kullanma

Bahsettiğimiz gibi, Listbox 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 7. 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 Liste kutusu Kullanıcı formunda oluşturmak için.

Resim 8. Kullanıcı Formuna Liste Kutusu 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.lstListBox 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 Liste Kutusunu şu 5 adla doldurur:

Resim 9. Kullanıcı Formundaki Değerlerin Bulunduğu Liste Kutusu

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