Excel VBA Bağımlı Combo Box'ları - Kolay Excel Makroları

İçindekiler

Aşağıda bir programa bakacağız Excel VBA'sı içeren bir Kullanıcı formu oluşturan bağımlı açılan kutular. Oluşturacağımız Userform aşağıdaki gibi görünüyor:

Kullanıcı, açılır listeden Hayvanlar'ı seçer. Sonuç olarak, kullanıcı ikinci bir açılır listeden bir hayvan seçebilir.

Kullanıcı, açılır listeden Spor'u seçer. Sonuç olarak, kullanıcı ikinci bir açılır listeden bir spor seçebilir.

Bu Kullanıcı formunu oluşturmak için aşağıdaki adımları uygulayın.

1. Visual Basic Düzenleyicisini açın. Proje Gezgini görünmüyorsa, Görünüm, Proje Gezgini'ne tıklayın.

2. Ekle, Kullanıcı formu'na tıklayın. Araç Kutusu otomatik olarak görünmezse, Görünüm, Araç Kutusu'nu tıklayın. Ekranınız aşağıdaki gibi ayarlanmalıdır.

3. Birleşik giriş kutularını (ilk solda, ikinci sağda) ve komut düğmesini ekleyin. Bu tamamlandığında, sonuç daha önce gösterilen Kullanıcı Formu resmiyle tutarlı olmalıdır. Örneğin, Araç Kutusu'ndan ComboBox'a tıklayarak bir birleşik giriş kutusu kontrolü oluşturun. Ardından, Userform'da bir birleşik giriş kutusunu sürükleyebilirsiniz.

4. Kontrollerin adlarını ve başlıklarını değiştirebilirsiniz. Adlar Excel VBA kodunda kullanılır. Altyazılar, ekranınızda görünenlerdir. Kontrollerin adlarını değiştirmek iyi bir uygulamadır, ancak bu örnekte sadece birkaç kontrole sahip olduğumuz için burada gerekli değildir. Kullanıcı formu ve komut düğmesinin başlığını değiştirmek için Görünüm, Özellikler Penceresi'ne tıklayın ve her bir kontrole tıklayın.

5. Kullanıcı formunu göstermek için çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:

Özel Alt KomutDüğmesi1_Click()
KullanıcıForm1.Göster
Alt Bitiş

Şimdi Sub UserForm_Initialize'ı oluşturacağız. Kullanıcı formu için Göster yöntemini kullandığınızda, bu alt otomatik olarak yürütülecektir.

6. Visual Basic Düzenleyicisini açın.

7. Proje Gezgini'nde, UserForm1'e sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.

8. Soldaki açılır listeden Kullanıcı formu'nu seçin. Sağdaki açılır listeden Başlat'ı seçin.

9. Aşağıdaki kod satırlarını ekleyin:

Özel Alt UserForm_Initialize()
ComboBox1 ile
.AddItem "Hayvanlar"
.AddItem "Spor"
.AddItem "Yiyecek"
İle bitmek
Alt Bitiş

Açıklama: Bu kod satırları ilk birleşik giriş kutusunu doldurur.

Şimdi Userform'un ilk bölümünü oluşturduk. Zaten düzgün görünse de, ilk açılan kutudan bir öğe seçtiğimizde henüz hiçbir şey olmayacak.

10. Proje Gezgini'nde, UserForm1'e çift tıklayın.

11. İlk açılan kutuya çift tıklayın.

12. Aşağıdaki kod satırlarını ekleyin:

Özel Alt ComboBox1_Change()
Tamsayı olarak loş indeks
dizin = ComboBox1.ListIndex
ComboBox2.Temizle
Vaka dizini seçin
Durum = 0
ComboBox2 ile
.AddItem "Köpek"
.AddItem "Kedi"
.AddItem "At"
İle bitmek
Vaka = 1
ComboBox2 ile
.AddItem "Tenis"
.AddItem "Yüzme"
.AddItem "Basketbol"
İle bitmek
Vaka = 2
ComboBox2 ile
.AddItem "Krep"
.AddItem "Pizza"
.AddItem "Çince"
İle bitmek
Seçimi Bitir
Alt Bitiş

Açıklama: Excel VBA, ikinci birleşik giriş kutusunun hangi öğelerle doldurulması gerektiğini görmek için her bir sonraki Case deyimini test etmek için değişken indeksin değerini kullanır. Select Case yapısı hakkında daha fazla bilgi edinmek için Select Case programımıza göz atın.

13. İçe Aktar düğmesine çift tıklayın.

14. Aşağıdaki kod satırını ekleyin:

Özel Alt KomutDüğmesi1_Click()
Aralık("A1").Value = ComboBox2.Value
Alt Bitiş

Sonuç:

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

wave wave wave wave wave