300 Esimerkkejä

Riippuvat yhdistelmälaatikot

Dependent Combo Boxes

Alla tarkastelemme ohjelmaa Excel VBA joka luo Userformin, joka sisältää riippuvaiset yhdistelmälaatikot . Luomamme Userform näyttää seuraavalta:



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

Riippuvat yhdistelmälaatikot Excel VBA: ssa



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

Riippuvat yhdistelmälaatikot Excel VBA: ssa



Voit luoda tämän käyttäjämuodon suorittamalla seuraavat vaiheet.

1. Avaa Visual Basic Editor . Jos Project Explorer ei ole näkyvissä, valitse Näytä, Project Explorer.

2. Napsauta Insert, Userform. Jos Työkaluryhmä ei näy automaattisesti, napsauta Näytä, Työkaluryhmä. Näytön asetukset on määritettävä alla kuvatulla tavalla.

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

3. Lisää yhdistelmäruudut (ensimmäinen vasemmalle, toinen oikealle) ja komentopainike. Kun tämä on suoritettu, tuloksen tulee olla yhdenmukainen aiemmin näytetyn Userform -kuvan kanssa. Luo esimerkiksi yhdistelmäruudun ohjausobjekti napsauttamalla Työkalupakissa olevaa Yhdistelmäruutua. Seuraavaksi voit vetää yhdistelmäruudun Userformissa.

4. Voit muuttaa säätimien nimiä ja kuvatekstejä. Nimiä käytetään Excel VBA -koodissa. Tekstitykset ovat niitä, jotka näkyvät näytölläsi. On hyvä käytäntö muuttaa säätimien nimiä, mutta se ei ole välttämätöntä, koska tässä esimerkissä on vain muutamia säätimiä. Jos haluat muuttaa Userform- ja komentopainikkeen kuvatekstejä, napsauta Näytä, Ominaisuudet -ikkuna ja napsauta jokaista ohjainta.

5. Tuo Userform näkyviin asettamalla a komentopainiketta laskentataulukkoon ja lisää seuraava koodirivi:

Yksityinen SubCommandButton1_Click ()

UserForm 1.Näytä

Loppu Sub

Aiomme nyt luoda Sub UserForm_Initialize. Kun käytät Näytä -menetelmää Userformissa, tämä osa suoritetaan automaattisesti.

6. Avaa Visual Basic Editor .

7. Napsauta Project Explorerissa hiiren kakkospainikkeella UserForm1 ja valitse sitten Näytä koodi.

8. Valitse Userform vasemmasta avattavasta luettelosta. Valitse Alusta oikeasta avattavasta luettelosta.

kuinka laskea määrä Excelissä

9. Lisää seuraavat koodirivit:

Yksityinen SubUserForm_Initialize ()

KanssaYhdistelmälaatikko 1
.AddItem 'Eläimet'
.AddItem 'Urheilu'
.AddItem 'Ruoka'
Loppu Kanssa

Loppu Sub

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

Olemme nyt luoneet Userformin ensimmäisen osan. Vaikka se näyttää jo siistiltä, ​​mitään ei vielä tapahdu, kun valitsemme kohteen ensimmäisestä yhdistelmäruudusta.

10. Kaksoisnapsauta Project Explorerissa UserForm1.

11. Kaksoisnapsauta ensimmäistä yhdistelmäruutua.

12. Lisää seuraavat koodirivit:

Yksityinen SubComboBox1_Change ()

Ei mitäänindeksiKuten Kokonaisluku
indeksi = ComboBox1.ListIndex

Yhdistelmälaatikko 2. selkeä

Valitse Koteloindeksi
Kotelo On= 0
KanssaYhdistelmälaatikko 2
.AddItem 'Koira'
.AddItem 'Kissa'
.AddItem 'Hevonen'
Loppu Kanssa
Kotelo On= 1
KanssaYhdistelmälaatikko 2
.AddItem 'Tennis'
.AddItem 'Uinti'
.AddItem 'Koripallo'
Loppu Kanssa
Kotelo On= 2
KanssaYhdistelmälaatikko 2
.AddItem 'Pannukakut'
.AddItem 'Pizza'
.AddItem 'Kiinalainen'
Loppu Kanssa
Loppu Valitse

Loppu Sub

Selitys: Excel VBA käyttää muuttujaindeksin arvoa testatakseen jokaisen seuraavan tapauslausuman nähdäkseen, millä kohteilla toinen yhdistelmäruutu on täytettävä. Käy läpi meidän Valitse Kotelo -ohjelmasta saat lisätietoja Select Case -rakenteesta.

13. Kaksoisnapsauta Tuo -painiketta.

14. Lisää seuraava koodirivi:

Yksityinen SubCommandButton1_Click ()

Alue ('A1'). Arvo = ComboBox2.Value

Loppu Sub

Tulos:

Riippuvat yhdistelmälaatikot Excel VBA: ssa

7/11 valmis! Lue lisää käyttäjämuodoista>
Siirry seuraavaan lukuun: Alue



^