300 Pavyzdžių

Keli sąrašo laukelių pasirinkimai

Multiple List Box Selections

The „MultiSelect“ ypatybė į Excel VBA leidžia vartotojui sąrašo laukelyje pasirinkti kelis elementus. Vartotojo forma, kurią ketiname sukurti, atrodo taip:



Keli sąrašo laukelių pasirinkimai „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ų rinkinys nerodomas automatiškai, spustelėkite Rodinys, įrankių dėžė. Jūsų ekranas turi būti nustatytas taip, kaip nurodyta toliau.



kokia yra vidurkio formulė

„Userform“ ekrano sąranka „Excel VBA“

3. Pridėkite sąrašų langelius (pirmasis kairėje, antras dešinėje), komandų mygtukus, žymimuosius laukelius (pirmasis kairėje, antras dešinėje), rėmelį ir parinkčių mygtukus (pirmasis viršuje, antras apačioje) pirmasis ir pan.). Kai tai bus baigta, rezultatas turėtų atitikti anksčiau pateiktą „Userform“ paveikslėlį. Pvz., Sukurkite sąrašo laukelio valdiklį spustelėdami „ListBox“ iš „Toolbox“. Tada galite vilkti sąrašo laukelį „Userform“. Kai pateksite į rėmelį „Pasirinkti tipą“, nepamirškite nupiešti šio rėmo, prieš įdėdami į jį tris parinkčių mygtukus.

4. Galite pakeisti valdiklių pavadinimus ir antraštes. Pavadinimai naudojami „Excel“ VBA kode. Subtitrai yra tie, kurie rodomi jūsų ekrane. Gera praktika yra keisti valdiklių pavadinimus, tačiau čia tai nėra būtina, nes šiame pavyzdyje turime tik keletą valdiklių. Norėdami pakeisti „Userform“, komandų mygtukų, žymės langelių, rėmelių ir parinkčių mygtukų antraštes, spustelėkite „View“, „Properties Window“ 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. Pirmiausia deklaruokite Integer tipo kintamąjį i. Paskelbkite kintamąjį skyriuje Bendrosios deklaracijos (kodo viršuje). Tokiu būdu jūs turite deklaruoti kintamąjį tik vieną kartą ir galite juos naudoti keliuose abonentuose.

Nė vienasiKaip Sveikasis skaičius

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

10. Pridėkite šias kodo eilutes:

Privatus SubUserForm_Initialize ()

SuSąrašo langelis1
.AddItem „Pardavimas“
.AddItem „Gamyba“
.AddItem 'Logistics'
.AddItem „Žmogiškieji ištekliai“
Galas Su

OptionButton3.Value =Tiesa

Galas Sub

Paaiškinimas: pirmasis sąrašo laukelis bus užpildytas, o trečiasis parinkčių mygtukas nustatytas kaip numatytasis.

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

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

kaip automatiškai įrengti „Excel“ langelį

12. Dukart spustelėkite mygtuką Pridėti.

13. Pridėkite šias kodo eilutes:

Privatus SubCommandButton1_Click ()

Dėli = 0ĮListBox1.ListCount - 1
JeiListBox1.Pasirinktas (i) =Tiesa TadaListBox2.AddItem ListBox1.List (i)
Kitasi

Galas Sub

Paaiškinimas: „Excel VBA“ eina per pirmąjį sąrašo laukelį (pirmojo sąrašo elemento sąrašo indekso numeris lygus nuliui (0)) ir, jei pasirinktas, prideda elementą prie antrojo sąrašo lauko.

14. Dukart spustelėkite mygtuką Pašalinti.

15. Pridėkite šias kodo eilutes:

Privatus SubCommandButton2_Click ()

Nė vienasskaitiklisKaipSveikasis skaičius
skaitiklis = 0

Dėli = 0ĮListBox2.ListCount - 1
JeiListBox2.Selected (i - skaitiklis)Tada
ListBox2.RemoveItem (i - skaitiklis)
skaitiklis = skaitiklis + 1
Galas Jei
Kitasi

CheckBox2.Value =Netiesa

Galas Sub

Paaiškinimas: „Excel VBA“ eina per antrąjį sąrašo laukelį ir, jei pasirinktas, pašalina elementą. Skaitiklio kintamasis seka pašalintų elementų skaičių.

16. Dukart spustelėkite pirmosios parinkties mygtuką.

17. Pridėkite šias kodo eilutes:

Privatus SubOptionButton1_Click ()

ListBox1.MultiSelect = 0
ListBox2.MultiSelect = 0

Galas Sub

18. Dukart spustelėkite antrojo pasirinkimo mygtuką.

pakeisti duomenų šaltinio suvestinę lentelę „Excel 2016“

19. Pridėkite šias kodo eilutes:

Privatus SubOptionButton2_Click ()

ListBox1.MultiSelect = 1
ListBox2.MultiSelect = 1

Galas Sub

20. Dukart spustelėkite trečiojo pasirinkimo mygtuką.

21. Pridėkite šias kodo eilutes:

Privatus SubOptionButton3_Click ()

ListBox1.MultiSelect = 2
ListBox2.MultiSelect = 2

Galas Sub

Paaiškinimas: nustatymą „Pasirinkti tipą“ galima pasirinkti spustelėjus parinkčių mygtukus. Anksčiau parodytas Userform paveikslėlis apibūdina kiekvieną nustatymą. Užuot konfigūravę šį nustatymą vykdymo metu, galite jį konfigūruoti ir projektavimo metu. Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite sąrašo laukelio valdiklį, tada spustelėkite Ypatybės. Nustatykite „MultiSelect“ ypatybę į 0 - fmMultiSelectSingle, 1 - fmMultiSelectMulti arba 2 - fmMultiSelectExtented.

22. Dukart spustelėkite pirmąjį žymės langelį.

23. Pridėkite šias kodo eilutes:

Privatus SubCheckBox1_Click ()

JeiCheckBox1.Value =Tiesa Tada
Dėli = 0ĮListBox1.ListCount - 1
ListBox1.Selected (i) = Tiesa
Kitasi
Galas Jei

JeiCheckBox1.Value =Netiesa Tada
Dėli = 0ĮListBox1.ListCount - 1
ListBox1.Selected (i) = False
Kitasi
Galas Jei

Galas Sub

Paaiškinimas: pažymėjus pirmąjį žymės langelį, galima pasirinkti / panaikinti visus pirmojo sąrašo laukelio elementus.

24. Norėdami pridėti tas pačias kodo eilutes, dukart spustelėkite antrą žymės langelį. „CheckBox1“ pakeiskite tik „CheckBox2“, o „ListBox1“ - „ListBox2“.

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



^