/ / Excel VBA függő kombinált dobozok

Excel VBA függő kombinált dobozok

Az alábbiakban egy programot nézünk be Excel VBA amely létrehoz egy felhasználási formát, amely tartalmazza függő kombinált dobozok. A felhasználói forma, amelyet meg fogunk alkotni, a következőképpen néz ki:

A felhasználó kiválasztja az állatokat egy legördülő listából. Ennek eredményeként a felhasználó kiválaszthat egy állatot egy második legördülő listáról.

Függő kombinált dobozok Excel VBA-ban

A felhasználó a legördülő listából kiválasztja a Sportokat. Ennek eredményeként a felhasználó választhat egy sportot egy második legördülő listából.

Függő kombinált dobozok Excel VBA-ban

A Userform létrehozásához hajtsa végre a következő lépéseket.

1. Nyissa meg a Visual Basic Editor alkalmazást. Ha a Project Explorer nem látható, kattintson a Nézet, a Project Explorer elemre.

2. Kattintson a Beszúrás, Felhasználóformátum elemre. Ha az Eszköztár nem jelenik meg automatikusan, kattintson a Nézet, Eszköztár elemre. A képernyő beállítása az alábbiak szerint történik.

Userform képernyőbeállítás az Excel VBA-ban

3. Adja hozzá a kombinált dobozokat (először a bal oldalon, a második a jobb oldalon) és a parancsgombot. Miután ez befejeződött, az eredménynek összhangban kell lennie a korábban bemutatott Userform képével. Például hozhat létre kombinált doboz vezérlést a ComboBox eszköztárból történő kattintással. Ezután húzza át a kombinált dobozt a Userformon.

4. Megváltoztathatja a vezérlők nevét és feliratait. A neveket az Excel VBA kódban használják. Feliratok azok, amelyek a képernyőn jelennek meg. Jó gyakorlat a vezérlők nevének megváltoztatása, de itt nem szükséges, mert ebben a példában csak néhány kontroll van. A Felhasználóformátum és a parancsgomb feliratának módosításához kattintson a Nézet, a Tulajdonságok ablakra, és kattintson az egyes vezérlőkre.

5. A Userform megjelenítéséhez helyezze a parancsgombot a munkalapra, és adja hozzá a következő kódot:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Most létrehozzuk a Sub UserForm_Initialize-t. Amikor a Userform metódust használja, ez a rész automatikusan végrehajtásra kerül.

6. Nyissa meg a Visual Basic Editor alkalmazást.

7. A Project Explorerben kattintson jobb gombbal a UserForm1-re, majd kattintson a View Code (Kód megtekintése) parancsra.

8. A bal oldali legördülő listáról válassza a Userform (Felhasználóformátum) lehetőséget. Válassza az Initialize lehetőséget a jobb legördülő listából.

9. Adja hozzá a következő kódsorokat:

Private Sub UserForm_Initialize()

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

End Sub

Magyarázat: Ezek a kódsorok töltik ki az első kombinált dobozt.

Most létrehoztuk a Userform első részét. Bár már jól néz ki, még akkor sem történik semmi, amikor kiválasztunk egy elemet az első kombinált dobozból.

10. A Project Explorer programban kattintson duplán a UserForm1-re.

11. Kattintson duplán az első kombinált dobozra.

12. Adja hozzá a következő kódsorokat:

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

Magyarázat: Az Excel VBA a változó index értékét használja az egyes esetszámú események tesztelésére, hogy megnézze, mely elemekkel töltse be a második kombinált mezőt. Menjünk a Select Case programunkba, ahol többet megtudhat a Select Case szerkezetről.

13. Kattintson duplán az Import gombra.

14. Adja hozzá a következő kódot:

Private Sub CommandButton1_Click()

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

End Sub

Eredmény:

Függő kombinált dobozok Excel VBA-ban

Szintén olvasható: