/ / Excel VBA ovisne kombinacijske kutije

Excel VBA ovisne kombinacijske kutije

U nastavku ćemo pogledati program u Excel VBA što stvara Userform koji sadrži ovisne kombinirane kutije, Korisnički obrazac koji ćemo stvoriti izgleda ovako:

Korisnik odabire životinje s padajućeg popisa. Kao rezultat, korisnik može odabrati životinju s drugog padajućeg popisa.

Zavisne kombinacijske kutije u programu Excel VBA

Korisnik odabire Sport iz padajućeg popisa. Kao rezultat toga, korisnik može odabrati sport s drugog padajućeg popisa.

Zavisne kombinacijske kutije u programu Excel VBA

Da biste stvorili ovaj Userform, izvršite sljedeće korake.

1. Otvorite Visual Basic Editor. Ako Project Explorer nije vidljiv, kliknite View, Project Explorer.

2. Kliknite Insert, Userform. Ako Toolbox ne pojavljuje automatski, kliknite View, Toolbox. Vaš bi se zaslon trebao postaviti kao u nastavku.

Postavljanje zaslona korisničkog formata u programu Excel VBA

3. Dodajte kombinirane okvire (prvi na lijevoj strani, drugi na desnoj strani) i gumb za naredbu. Kada to završi, rezultat bi trebao biti u skladu s prethodno prikazanom korisničkom obrascu. Na primjer, stvorite kontrolu kombiniranog okvira klikom na ComboBox iz Toolboxa. Zatim možete povući kombinirani okvir na Userform.

4. Možete promijeniti nazive i opise kontrola. Imena se koriste u Excel VBA kodu. Opisi su oni koji se pojavljuju na vašem zaslonu. Dobra je praksa mijenjati nazive kontrolnih jedinica, ali ovdje nije nužno jer imamo samo nekoliko kontrola u ovom primjeru. Da biste promijenili naslov gumba Userform i naredbu, kliknite Prikaz, prozor Svojstva i kliknite na svaku kontrolu.

5. Da biste prikazali Userform, stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Sad ćemo stvoriti Sub UserForm_Initialize. Kada koristite metodu Prikaži za Korisnički obrazac, ovaj će podvrgnuti automatski.

6. Otvorite Visual Basic Editor.

7. U Project Exploreru desnom tipkom miša kliknite UserForm1 i zatim kliknite View Code.

8. S padajućeg popisa s lijeve strane odaberite Userform. Na padajućem popisu odaberite Inicijaliziraj.

9. Dodajte sljedeće retke koda:

Private Sub UserForm_Initialize()

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

End Sub

Objašnjenje: Ove linije koda ispunjavaju prvi kombinirani okvir.

Sada smo stvorili prvi dio Korisničkog obrasca. Iako već izgleda uredno, ništa se neće dogoditi kada odaberemo stavku iz prvog kombiniranog okvira.

10. U Project Exploreru dvaput kliknite UserForm1.

11. Dvaput kliknite na prvi kombinirani okvir.

12. Dodajte sljedeće retke koda:

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

Obrazloženje: Excel VBA koristi vrijednost varijable indeksa za testiranje svakog sljedećeg slučaja izjavu kako bi se vidjelo s kojim stavkama drugi kombinirani okvir treba popuniti. Prođite kroz naš program Select Case za više informacija o odabranoj strukturi predmeta.

13. Dvaput kliknite gumb Uvoz.

14. Dodajte sljedeću retku koda:

Private Sub CommandButton1_Click()

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

End Sub

Proizlaziti:

Zavisne kombinacijske kutije u programu Excel VBA

Također pročitajte: