300 Pavyzdžių

Priklausomos kombinuotos dėžutės

Dependent Combo Boxes

Ž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.

Priklausomos sudėtinės dėžutės „Excel VBA“





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

Priklausomos sudėtinės dėžutės „Excel VBA“



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

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

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

„Userform“ ekrano sąranka „Excel VBA“

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ėdami „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 a komandinis mygtukas darbalapyje ir pridėkite šią kodo eilutę:

Privatus SubCommandButton1_Click ()

UserForm1.Show

Galas Sub

Dabar mes sukursime Sub UserForm_Initialize. Kai naudosite rodymo metodą naudotojo formai, šis poskyris bus vykdomas automatiškai.

6. Atidarykite „Visual Basic“ redaktorius .

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

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

kaip naudoti „if“ funkciją „Excel“

9. Pridėkite šias kodo eilutes:

Privatus SubUserForm_Initialize ()

SuComboBox1
.AddItem „Gyvūnai“
.AddItem „Sportas“
.AddItem 'Maistas'
Galas Su

Galas 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 SubComboBox1_Change ()

Nė vienasindeksasKaip Sveikasis skaičius
indeksas = ComboBox1.ListIndex

ComboBox2.Aiškus

Pasirinkite Bylaindeksas
Byla Ar= 0
Su„ComboBox2“
.AddItem 'Šuo'
.AddItem „Katė“
.AddItem 'Arklys'
Galas Su
Byla Ar= 1
Su„ComboBox2“
.AddItem 'Tenisas'
.AddItem „Plaukimas“
.AddItem 'Krepšinis'
Galas Su
Byla Ar= 2
Su„ComboBox2“
.AddItem 'Blynai'
.AddItem „Pica“
.AddItem 'kinų'
Galas Su
Galas Pasirinkite

Galas 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. Eik per mūsų Pasirinkite Byla programą, kad sužinotumėte daugiau apie „Select Case“ struktūrą.

13. Dukart spustelėkite mygtuką Importuoti.

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

Privatus SubCommandButton1_Click ()

Diapazonas („A1“). Vertė = „ComboBox2.Value“

Galas Sub

Rezultatas:

Priklausomos sudėtinės dėžutės „Excel VBA“

7/11 baigtas! Sužinokite daugiau apie vartotojo formas>
Eiti į kitą skyrių: diapazonas



^