/ / Excel VBA Bağımlı Kombo Kutular

Excel VBA Bağımlı Kombo Kutular

Aşağıda bir programa bakacağız Excel VBA hangi içeren bir Userform oluşturur bağımlı açılan kutular. Oluşturulacak olan Userform aşağıdaki gibi görünür:

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

Excel VBA'daki Bağımlı Birleşik Kutular

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

Excel VBA'daki Bağımlı Birleşik Kutular

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

1. Visual Basic Düzenleyicisi'ni açın. Proje Gezgini görünmüyorsa, Görüntüle, Proje Gezgini'ni tıklatın.

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

Excel VBA'da Kullanıcı Formu Ekranı Kurulumu

3. Birleşik kutuları (ilk önce solda, sağdaki saniye) ve komut düğmesini ekleyin. Bu tamamlandıktan sonra sonuç, daha önce gösterilen Kullanıcı Formunun resmi ile tutarlı olmalıdır. Örneğin, araç kutusundan ComboBox'ı tıklatarak bir açılan kutu denetimi oluşturun. Ardından, Kullanıcı Formu'ndaki bir açılan kutu sürükleyebilirsiniz.

4. Kontrollerin isimlerini ve başlıklarını değiştirebilirsiniz. Adlar Excel VBA kodunda kullanılır. Altyazılar, ekranınızda görünenlerdir. Kontrollerin isimlerini değiştirmek iyi bir uygulamadır, ancak burada gerekli değildir çünkü bu örnekte sadece birkaç kontrolümüz vardır. Kullanıcı formu ve komut düğmesinin altyazısını değiştirmek için, Görünüm, Özellikler Penceresi'ni tıklayın ve her bir denetimi 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:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Şimdi Sub UserForm_Initialize oluşturacağız. Userform için Show yöntemini kullandığınızda, bu sub otomatik olarak yürütülür.

6. Visual Basic Düzenleyicisi'ni 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 Userform'u seçin. Sağdaki açılır listeden Sıfırla'yı seçin.

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

Private Sub UserForm_Initialize()

With ComboBox1
    .AddItem "Animals"
    .AddItem "Sports"
    .AddItem "Food"
End With

End Sub

Açıklama: Bu kod satırları ilk açılan kutuyu doldurur.

Şimdi, Userform'un ilk bölümünü oluşturduk. Henüz temiz görünüyor olsa da, ilk açılan kutudan bir öğe seçtiğimizde hiçbir şey olmayacak.

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

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

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

Private Sub ComboBox1_Change()

Dim index As Integer
index = ComboBox1.ListIndex

ComboBox2.Clear

Select Case index
    Case Is = 0
        With ComboBox2
            .AddItem "Dog"
            .AddItem "Cat"
            .AddItem "Horse"
        End With
    Case Is = 1
        With ComboBox2
            .AddItem "Tennis"
            .AddItem "Swimming"
            .AddItem "Basketball"
        End With
    Case Is = 2
        With ComboBox2
            .AddItem "Pancakes"
            .AddItem "Pizza"
            .AddItem "Chinese"
        End With
End Select

End Sub

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

13. Import düğmesine çift tıklayın.

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

Private Sub CommandButton1_Click()

Range("A1").Value = ComboBox2.Value

End Sub

Sonuç:

Excel VBA'daki Bağımlı Birleşik Kutular

Ayrıca oku: