„Excel VBA“ daugiaspalvis sudėtinis langelis - paprastos „Excel“ makrokomandos

Turinys

Žemiau apžvelgsime programą Excel VBA kuris sukuria „Userform“, kurioje yra kelių stulpelių kombinuota dėžutė.

Vartotojo forma, kurią ketiname sukurti, atrodo taip:

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 etiketę, kombinuotą langelį ir komandų mygtukus. 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 „Userform“, etikečių ir komandų mygtukų antraštes, spustelėkite „View“, „Properties Window“ ir „Properties Window“.

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 ()
ComboBox1.ColumnCount = 2
Blokinti filmus (nuo 1 iki 5, nuo 1 iki 2) kaip eilutę
Dim i kaip sveikasis skaičius, j kaip sveikasis skaičius
Filmai (1, 1) = "Žiedų valdovas"
Filmai (2, 1) = "Greitis"
Filmai (3, 1) = "Žvaigždžių karai"
Filmai (4, 1) = "Krikštatėvis"
Filmai (5, 1) = "Pulp Fiction"
Filmai (1, 2) = "Nuotykiai"
Filmai (2, 2) = "Veiksmas"
Filmai (3, 2) = "Sci-Fi"
Filmai (4, 2) = "Nusikaltimas"
Filmai (5, 2) = "Drama"
ComboBox1.List = Filmai
Pabaiga Sub

Paaiškinimas: pirmoje kodo eilutėje nustatomas kombinuoto laukelio stulpelių skaičius iki 2. Užuot nustatę stulpelių skaičių vykdymo metu, šį nustatymą galite sukonfigūruoti ir projektavimo metu. Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite kombinuotojo laukelio valdiklį, spustelėkite Ypatybės ir nustatykite ypatybę „ColumnCount“ į 2. Toliau deklaruojame ir inicijuojame dvimatį masyvą. Paskutinė kodo eilutė masyvą priskiria kombinuotam laukeliui.

Dabar sukūrėme pirmąją „Userform“ dalį. Nors jau atrodo tvarkingai, dar nieko neįvyks, kai spustelėsime „Userform“ komandų mygtukus.

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

11. Dukart spustelėkite mygtuką Gerai.

12. Pridėkite šias kodo eilutes:

Privati ​​antrinė komandaButton1_Click ()
Iškrauti mane
MsgBox "Jūs pasirinkote" & ComboBox1.Value
Dėl klaidos Tęsti toliau
„MsgBox“ „Jums patinka“ ir „ComboBox1.Column“ (1) ir „filmai“
Pabaiga Sub

Pastaba: šios kodo eilutės uždaro „Excel VBA Userform“ ir rodo pasirinktą elementą bei žanrą. Pareiškime „On Error Resume Next“ nepaisoma klaidos, kai vartotojas užpildo savo filmą (šiuo atveju žanro nėra).

13. Dukart spustelėkite mygtuką Atšaukti.

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

Privati ​​antrinė komandaButton2_Click ()
Iškrauti mane
Pabaiga Sub

Rezultatas, kai pasirenkate greitį ir spustelėkite Gerai.

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

wave wave wave wave wave