/ / Excel VBA riippuvaiset yhdistelmälaatikot

Excel VBA riippuvaiset yhdistelmälaatikot

Alla tarkastelemme ohjelmaa Excel VBA joka luo käyttäjämuodon, joka sisältää riippuvaisia ​​yhdistelmälaatikoita. Käyttäjäformaatti, jonka aiomme luoda, näyttää seuraavaa:

Käyttäjä valitsee Eläimet avattavasta luettelosta. Tämän seurauksena käyttäjä voi valita eläimen toisesta avattavasta luettelosta.

Riippuvaiset Combo-laatikot Excel VBA: ssa

Käyttäjä valitsee Urheilu pudotusvalikosta. Tämän seurauksena käyttäjä voi valita urheilun toisesta avattavasta luettelosta.

Riippuvaiset Combo-laatikot Excel VBA: ssa

Tee tämä Käyttäjäluettelo seuraavasti.

1. Avaa Visual Basic -editori. Jos Project Explorer ei ole näkyvissä, valitse View, Project Explorer.

2. Napsauta Insert, Userform. Jos työkalupakki ei tule näkyviin automaattisesti, valitse Näytä, työkalupakki. Näyttösi on määritettävä alla.

Userform-näytön asetukset Excel VBA: ssa

3. Lisää yhdistelmälaatikoita (ensimmäinen vasemmalla, toinen oikealla) ja komentopainike. Kun tämä on saatu päätökseen, tuloksen on oltava johdonmukainen aikaisemmin esitetyn käyttäjätiedon kuvan kanssa. Luo esimerkiksi yhdistelmälaatikon ohjaus klikkaamalla Toolboxissa olevaa ComboBoxia. Seuraavaksi voit vetää yhdistelmäruudun Userform-muodossa.

4. Voit muuttaa ohjaimien nimeä ja kuvatekstejä. Nimet käytetään Excel VBA -koodissa. Kuvatekstit ovat niitä, jotka näkyvät näytölläsi. On hyvä käytäntö muuttaa ohjaimien nimet, mutta se ei ole tarpeen tässä, koska tässä esimerkissä on vain muutama valvonta. Jos haluat muuttaa Userform- ja komento-painikkeen otsikkoa, valitse Näytä, Ominaisuudet-ikkuna ja napsauta jokaista ohjausta.

5. Kun haluat näyttää Userform, aseta komentokehote laskentatauluun ja lisää seuraava koodirivi:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Aiomme nyt luoda Sub UserForm_Initialize. Kun käytät User-muodon Show-menetelmää, tämä osa suoritetaan automaattisesti.

6. Avaa Visual Basic -editori.

7. Napsauta Project Explorer -ohjelmaa hiiren kakkospainikkeella UserForm1 ja sen jälkeen Näytä koodi.

8. Valitse Käyttäjätunnus vasemmalta avattavasta luettelosta. Valitse avattavasta oikeasta alasvetovalikosta Aloita.

9. Lisää seuraavat koodiluokat:

Private Sub UserForm_Initialize()

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

End Sub

Selitys: Nämä koodiluokat täyttävät ensimmäisen yhdistelmäruudun.

Olemme nyt luoneet Userformin ensimmäisen osan. Vaikka se näyttää siistinä jo, mikään ei tapahdu vielä, kun valitaan kohde ensimmäisestä yhdistelmäruudusta.

10. Kaksoisnapsauta Project Explorerissa UserForm1-ohjelmaa.

11. Kaksoisnapsauta ensimmäistä yhdistelmäruutua.

12. Lisää seuraavat koodiluokat:

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

Selitys: Excel VBA käyttää muuttujan indeksin arvoa testaamaan jokaisen seuraavan tapausselosteen nähdäksesi, mitä kohteita toisen yhdistelmäruudun pitäisi täyttää. Tutustu Select Case -ohjelmaan valitsemalla Select Case -rakenne.

13. Kaksoisnapsauta Tuo-painiketta.

14. Lisää seuraava koodirivi:

Private Sub CommandButton1_Click()

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

End Sub

Tulos:

Riippuvaiset Combo-laatikot Excel VBA: ssa

Lue myös: