„Excel VBA“ priklausomos sudėtinės dėžutės - paprastos „Excel“ makrokomandos

Turinys

Žemiau apžvelgsime programą Excel VBA kuris sukuria vartotojo formą, kurioje yra priklausomos kombinuotos dėžutės. Vartotojo forma, kurią ketiname sukurti, atrodo taip:

Vartotojas išplečiamajame sąraše pasirenka Gyvūnai. Dėl to vartotojas gali pasirinkti gyvūną iš antrojo išskleidžiamojo sąrašo.

Vartotojas išskleidžiamajame sąraše pasirenka sportą. Dėl to vartotojas gali pasirinkti sporto šaką iš antrojo išskleidžiamojo sąrašo.

Norėdami sukurti šią vartotojo formą, atlikite šiuos veiksmus.

1. Atidarykite „Visual Basic“ redaktorių. Jei „Project Explorer“ nematomas, spustelėkite „View“, „Project Explorer“.

2. Spustelėkite Įterpti, Vartotojo forma. Jei įrankių dėžė nerodoma automatiškai, spustelėkite Rodinys, įrankių dėžė. Jūsų ekranas turi būti nustatytas taip, kaip nurodyta toliau.

3. Pridėkite kombinuotus laukelius (pirmasis kairėje, antrasis dešinėje) ir komandų mygtuką. Kai tai bus baigta, rezultatas turėtų atitikti anksčiau pateiktą „Userform“ paveikslėlį. Pvz., Sukurkite kombinuotojo laukelio valdiklį spustelėję „ComboBox“ iš įrankių dėžutės. Tada galite vilkti sudėtinį lauką „Userform“.

4. Galite pakeisti valdiklių pavadinimus ir antraštes. Pavadinimai naudojami „Excel“ VBA kode. Subtitrai yra tie, kurie rodomi jūsų ekrane. Gera praktika yra pakeisti valdiklių pavadinimus, tačiau čia tai nėra būtina, nes šiame pavyzdyje turime tik keletą valdiklių. Norėdami pakeisti vartotojo formos ir komandos mygtuko antraštę, spustelėkite Rodinys, ypatybių langas ir spustelėkite kiekvieną valdiklį.

5. Norėdami parodyti „Userform“, įdėkite komandų mygtuką į savo darbalapį ir pridėkite šią kodo eilutę:

Privati ​​antrinė komandaButton1_Click ()
UserForm1.Show
Pabaiga Sub

Dabar mes sukursime Sub UserForm_Initialize. Naudojant „Userform“ rodymo metodą, šis antraštė bus automatiškai vykdoma.

6. Atidarykite „Visual Basic“ redaktorių.

7. „Project Explorer“ dešiniuoju pelės mygtuku spustelėkite UserForm1, tada spustelėkite View Code.

8. Kairiajame išskleidžiamajame sąraše pasirinkite Userform. Iš dešiniojo išskleidžiamojo sąrašo pasirinkite Inicijuoti.

9. Pridėkite šias kodo eilutes:

Privatus antrinis vartotojasForm_Initialize ()
Su „ComboBox1“
.AddItem "Gyvūnai"
.AddItem "Sportas"
.AddItem "Maistas"
Pabaiga su
Pabaiga Sub

Paaiškinimas: šios kodo eilutės užpildo pirmąjį sudėtinį laukelį.

Dabar sukūrėme pirmąją „Userform“ dalį. Nors atrodo jau tvarkingai, dar nieko neįvyks, kai iš pirmojo kombinuoto laukelio pasirinksime elementą.

10. „Project Explorer“ dukart spustelėkite UserForm1.

11. Dukart spustelėkite pirmąjį kombinuotą laukelį.

12. Pridėkite šias kodo eilutes:

Privatus antrinis ComboBox1_Change ()
Dim indeksas kaip sveikasis skaičius
indeksas = ComboBox1.ListIndex
ComboBox2.Aiškus
Pasirinkite atvejų indeksą
Byla = 0
Su „ComboBox2“
.AddItem "Šuo"
.AddItem "Katė"
.AddItem "Arklys"
Pabaiga su
Byla = 1
Su „ComboBox2“
.AddItem "Tenisas"
.AddItem "Plaukimas"
.AddItem "Krepšinis"
Pabaiga su
Byla = 2
Su „ComboBox2“
.AddItem "Blynai"
.AddItem "Pica"
.AddItem "kinų"
Pabaiga su
Pabaiga Pasirinkite
Pabaiga Sub

Paaiškinimas: „Excel VBA“ naudoja kintamojo indekso vertę, kad patikrintų kiekvieną paskesnį atvejo teiginį ir išsiaiškintų, su kokiais elementais turėtų būti užpildytas antrasis kombinuotas langelis. Norėdami sužinoti daugiau apie „Select Case“ struktūrą, eikite į mūsų „Select Case“ programą.

13. Dukart spustelėkite mygtuką Importuoti.

14. Pridėkite šią kodo eilutę:

Privati ​​antrinė komandaButton1_Click ()
Diapazonas („A1“). Reikšmė = ComboBox2.Value
Pabaiga Sub

Rezultatas:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave