/ / Excel VBA atkarīgās Combo kastes

Excel VBA atkarīgās Combo kastes

Tālāk mēs apskatīsim programmu programmā Excel VBA kas rada Userform, kas satur atkarīgas kombinētās kastes. Lietotāja forma, kuru mēs veidosim, izskatās šādi:

Lietotājs atlasa Dzīvnieki no nolaižamā saraksta. Rezultātā lietotājs var izvēlēties dzīvnieku no otrā nolaižamā saraksta.

Atkarīgie Combo lodziņi programmā Excel VBA

Lietotājs atlasa Sports no nolaižamā saraksta. Tā rezultātā lietotājs var izvēlēties sportu no otrā nolaižamā saraksta.

Atkarīgie Combo lodziņi programmā Excel VBA

Lai izveidotu šo Userform, izpildiet šādas darbības.

1. Atveriet Visual Basic Editor. Ja Project Explorer nav redzams, noklikšķiniet uz Skatīt, Project Explorer.

2. Noklikšķiniet uz Ielikt, Lietotāja forma. Ja rīkjosla neparādās automātiski, noklikšķiniet uz Skatīt, rīkjoslu. Jūsu ekrāns ir jāiestata tā, kā parādīts zemāk.

Userform ekrāna iestatīšana programmā Excel VBA

3 Pievienojiet kombinētās kastes (pirmais pa kreisi, otrā labajā pusē) un komandpoga. Kad tas ir pabeigts, rezultātam jāatbilst iepriekš redzamā lietotāja formas attēlam. Piemēram, izveidojiet kombinēto lodziņu vadību, noklikšķinot uz ComboBox rīkjoslā. Tālāk jūs varat vilkt kombinēto lodziņu Userform.

4 Jūs varat mainīt vadības ierīču nosaukumus un parakstus. Vārdi tiek izmantoti Excel VBA kodā. Paraksti ir tie, kas tiek parādīti ekrānā. Laba prakse ir mainīt kontroles nosaukumus, taču šeit tas nav nepieciešams, jo šajā piemērā ir tikai dažas kontroles. Lai mainītu lietotāja formas un komandu pogas nosaukumu, noklikšķiniet uz Skatīt, rekvizītu loga un noklikšķiniet uz katras vadības pogas.

5. Lai parādītu Userform, ievietojiet komandas pogu savā darblapā un pievienojiet šādu koda rindiņu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Tagad mēs izveidosim Sub UserForm_Initialize. Ja izmantojat Userform formātu Show method, šī apakšdaļa tiks automātiski izpildīta.

6. Atveriet Visual Basic Editor.

7. Projekta programmā labo pogu noklikšķiniet uz UserForm1 un pēc tam noklikšķiniet uz Skatīt kodu.

8. Izvēlieties Userform no kreisā nolaižamā saraksta. Izvēlieties Inicializēt labajā nolaižamajā sarakstā.

9. Pievienojiet šādas koda līnijas:

Private Sub UserForm_Initialize()

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

End Sub

Paskaidrojums: šīs koda līnijas aizpilda pirmo kombinēto lodziņu.

Tagad mēs esam izveidojuši lietotāja formas pirmo daļu. Lai gan tas izskatās pievilcīgs jau, nekas nenotiks, kad mēs izvēlēsimies vienumu no pirmā kombinētā lodziņa.

10. Projekta Explorer divreiz noklikšķiniet uz UserForm1.

11. Dubultklikšķi uz pirmā kombinētā lodziņa.

12. Pievienojiet šādas koda līnijas:

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

Paskaidrojums: Excel VBA izmanto mainīgā indeksa vērtību, lai pārbaudītu katru nākamo gadījuma pārskatu, lai noskaidrotu, ar kuriem priekšmetiem ir jāaizpilda otrā kombinētā lodziņa. Lai uzzinātu vairāk par izvēlēto lietu struktūru, dodieties caur mūsu programmu Atlasiet lietu.

13. Divreiz noklikšķiniet uz pogas Importēt.

14. Pievienojiet šādu koda rindiņu:

Private Sub CommandButton1_Click()

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

End Sub

Rezultāts:

Atkarīgie Combo lodziņi programmā Excel VBA

Lasīt arī: