Kombinované boxy závislé od Excelu VBA - ľahké makrá Excelu

Obsah

Nižšie sa pozrieme na program v Excel VBA ktorý vytvorí užívateľský formulár, ktorý obsahuje závislé kombinované boxy. Forma užívateľa, ktorú vytvoríme, vyzerá nasledovne:

Užívateľ vyberie Zvieratá z rozbaľovacieho zoznamu. Výsledkom je, že používateľ si môže vybrať zviera z druhého rozbaľovacieho zoznamu.

Užívateľ si vyberie z rozbaľovacieho zoznamu Šport. Výsledkom je, že používateľ si môže vybrať šport z druhého rozbaľovacieho zoznamu.

Ak chcete vytvoriť tento formulár používateľa, vykonajte nasledujúce kroky.

1. Otvorte editor jazyka Visual Basic. Ak Prieskumník projektov nie je viditeľný, kliknite na Zobraziť, Prieskumník projektu.

2. Kliknite na položku Vložiť, Používateľský formulár. Ak sa Panel s nástrojmi nezobrazí automaticky, kliknite na položku Zobraziť, Panel s nástrojmi. Vaša obrazovka by mala byť nastavená nižšie.

3. Pridajte kombinované polia (prvé vľavo, druhé vpravo) a príkazové tlačidlo. Keď je to dokončené, výsledok by mal byť v súlade s obrázkom používateľského formulára zobrazeným skôr. Napríklad vytvorte ovládací prvok rozbaľovacieho poľa kliknutím na ComboBox v Paneli s nástrojmi. Ďalej môžete na Userforme potiahnuť kombinované pole.

4. Môžete zmeniť názvy a titulky ovládacích prvkov. Mená sa používajú v kóde programu Excel VBA. Titulky sú tie, ktoré sa zobrazujú na vašej obrazovke. Je dobrým zvykom zmeniť názvy ovládacích prvkov, ale nie je to potrebné, pretože v tomto prípade máme iba niekoľko ovládacích prvkov. Ak chcete zmeniť popis používateľského formulára a príkazového tlačidla, kliknite na položku Zobraziť, Okno vlastností a kliknite na jednotlivé ovládacie prvky.

5. Ak chcete zobraziť formulár Userform, umiestnite na pracovný hárok príkazové tlačidlo a pridajte nasledujúci riadok kódu:

Súkromné ​​sub CommandButton1_Click ()
UserForm1.Show
Koniec pod

Teraz vytvoríme podskupinu UserForm_Initialize. Keď pre metódu Userform použijete metódu Show, táto čiastka sa automaticky spustí.

6. Otvorte editor jazyka Visual Basic.

7. V programe Project Explorer kliknite pravým tlačidlom na UserForm1 a potom kliknite na položku Zobraziť kód.

8. V ľavom rozbaľovacom zozname vyberte položku Userform. V pravom rozbaľovacom zozname vyberte položku Inicializovať.

9. Pridajte nasledujúce riadky kódu:

Private Sub UserForm_Initialize ()
S ComboBox1
.AddItem "Zvieratá"
.Pridať položku „Šport“
.Pridať položku „Jedlo“
Koniec s
Koniec pod

Vysvetlenie: Tieto riadky kódu vypĺňajú prvé pole so zoznamom.

Teraz sme vytvorili prvú časť užívateľského formulára. Aj keď to už vyzerá úhľadne, nič sa ešte nestane, keď vyberieme položku z prvého rozbaľovacieho poľa.

10. V programe Project Explorer dvakrát kliknite na položku UserForm1.

11. Dvakrát kliknite na prvé pole so zoznamom.

12. Pridajte nasledujúce riadky kódu:

Súkromný pod ComboBox1_Change ()
Dim index ako celé číslo
index = ComboBox1.ListIndex
ComboBox 2. Jasné
Vyberte Index prípadov
Prípad je = 0
S ComboBox2
.Pridať položku „Pes“
.Pridať položku „Mačka“
.AddItem „Kôň“
Koniec s
Prípad je = 1
S ComboBox2
.Pridať položku „Tenis“
.AddItem „Plávanie“
.Pridať položku „Basketbal“
Koniec s
Prípad je = 2
S ComboBox2
.Pridať položku „Palacinky“
.Pridať položku „Pizza“
.Pridať položku „čínština“
Koniec s
Ukončiť výber
Koniec pod

Vysvetlenie: Excel VBA používa hodnotu indexu premennej na testovanie každého nasledujúceho príkazu Case, aby zistil, akými položkami by malo byť vyplnené druhé pole so zoznamom. Prejdite si náš program Select Case a získajte ďalšie informácie o štruktúre Select Case.

13. Dvakrát kliknite na tlačidlo Importovať.

14. Pridajte nasledujúci riadok kódu:

Súkromné ​​sub CommandButton1_Click ()
Rozsah („A1“). Hodnota = ComboBox2.Hodnota
Koniec pod

Výsledok:

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave