Vba

Userform

Userform

Pridėkite valdiklius | Parodykite „Userform“ | Priskirkite makrokomandas | Išbandykite „Userform“





Šiame skyriuje mokoma, kaip sukurti „Excel VBA Userform“ . Vartotojo forma, kurią ketiname sukurti, atrodo taip:

„Excel VBA Userform“





Pridėkite valdiklius

Norėdami pridėti valdiklius prie vartotojo formos, 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.

„Userform“ ekrano sąranka „Excel VBA“

3. Pridėkite žemiau esančioje lentelėje nurodytus valdiklius. Kai tai bus baigta, rezultatas turėtų atitikti anksčiau pateiktą „Userform“ paveikslėlį. Pvz., Sukurkite teksto laukelio valdiklį spustelėdami „TextBox“ įrankių dėžėje. Tada galite vilkti teksto laukelį „Userform“. Atvykę prie automobilio rėmo, nepamirškite pirmiausia nupiešti šio rėmo, prieš įdėdami į jį du parinkčių mygtukus.

4. Pakeiskite valdiklių pavadinimus ir antraštes pagal toliau pateiktą lentelę. Pavadinimai naudojami „Excel“ VBA kode. Subtitrai yra tie, kurie rodomi jūsų ekrane. Gera praktika pakeisti valdiklių pavadinimus. Tai palengvins jūsų kodo skaitymą. Norėdami pakeisti valdiklių pavadinimus ir antraštes, spustelėkite Rodinys, ypatybių langas ir spustelėkite kiekvieną valdiklį.

Kontrolė vardas Antraštė
Userform DinnerPlannerUserForm Vakarienės planuotojas
Teksto langelis NameTextBox
Teksto langelis „PhoneTextBox“
Sąrašo langelis „CityListBox“
Sudėtinė dėžutė Vakarienė „ComboBox“
Žymimasis langelis DateCheckBox1 Birželio 13 d
Žymimasis langelis DateCheckBox2 Birželio 20 d
Žymimasis langelis DateCheckBox3 Birželio 27 d
Rėmas „CarFrame“ Automobilis
Pasirinkimo mygtukas „CarOptionButton“ 1 Taip
Pasirinkimo mygtukas „CarOptionButton“ 2 Ne
Teksto langelis „MoneyTextBox“
Sukimo mygtukas „MoneySpinButton“
Komandos mygtukas OKGutton Gerai
Komandos mygtukas „ClearButton“ Skaidrus
Komandos mygtukas Mygtukas „Atšaukti“ Atšaukti
7 Etiketės Nereikia keisti Vardas, telefono numeris: ir kt.

Pastaba: kombinuotas laukas yra išskleidžiamasis sąrašas, kuriame vartotojas gali pasirinkti elementą arba užpildyti savo pasirinkimą. Galima pasirinkti tik vieną iš parinkčių mygtukų.

Parodykite „Userform“

Norėdami parodyti „Userform“, įdėkite a komandinis mygtukas darbalapyje ir pridėkite šią kodo eilutę:

suskaičiuoti excel dienų skaičių
Privatus SubCommandButton1_Click ()

DinnerPlannerUserForm.Show

Galas Sub

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

1. Atidarykite „Visual Basic“ redaktorius .

2. „Project Explorer“ dešiniuoju pelės mygtuku spustelėkite „DinnerPlannerUserForm“, tada spustelėkite Peržiūrėti kodą.

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

4. Pridėkite šias kodo eilutes:

Privatus SubUserForm_Initialize ()

„Tuščias„ NameTextBox “
NameTextBox.Value = '

„Tuščia„ PhoneTextBox “
PhoneTextBox.Value = '

„Tuščia„ CityListBox “
„CityListBox“. Aišku

„Užpildykite„ CityListBox “
Su„CityListBox“
.AddItem „San Franciskas“
.AddItem 'Oakland'
.AddItem „Richmond“
Galas Su

„Tuščia vakarienė„ ComboBox “
Vakarienė „ComboBox“. Aišku

„Užpildykite„ DinnerComboBox “
SuVakarienė „ComboBox“
.AddItem 'italų'
.AddItem 'kinų'
.AddItem „Frites ir mėsa“
Galas Su

„Atžymėkite„ DataCheckBoxes “

DateCheckBox1.Value =Netiesa
DateCheckBox2.Value =Netiesa
DateCheckBox3.Value =Netiesa

„Nenustatykite jokio automobilio kaip numatytojo
CarOptionButton2.Value =Tiesa

„Tuščia„ MoneyTextBox “
MoneyTextBox.Value = '

„Sutelkite dėmesį į„ NameTextBox “
NameTextBox.SetFocus

Galas Sub

Paaiškinimas: teksto laukeliai ištuštinami, sąrašų ir kombinuotieji laukeliai užpildyti, žymės langeliai nepažymėti ir pan.

Priskirkite makrokomandas

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

1. Atidarykite „Visual Basic“ redaktorius .

kaip padaryti iš eilės skaičius

2. „Project Explorer“ dukart spustelėkite „DinnerPlannerUserForm“.

3. Dukart spustelėkite mygtuką Pinigų sukimas.

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

Privatus SubMoneySpinButton_Change ()

MoneyTextBox.Text = MoneySpinButton.Value

Galas Sub

Paaiškinimas: ši kodo eilutė atnaujina teksto laukelį, kai naudojate sukimo mygtuką.

5. Dukart spustelėkite mygtuką Gerai.

6. Pridėkite šias kodo eilutes:

Privatus SubOKButton_Click ()

Nė vienasemptyRowKaip Ilgas

„Padarykite„ Sheet1 “aktyvų
1 lapas. Aktyvuoti

„Nustatykite tuščią eilutę
emptyRow = WorksheetFunction.CountA (Diapazonas ('A: A')) + 1

„Perkelti informaciją
Ląstelės (emptyRow, 1) .Value = NameTextBox.Value
Ląstelės (emptyRow, 2) .Value = PhoneTextBox.Value
Ląstelės (emptyRow, 3) .Value = CityListBox.Value
Ląstelės (emptyRow, 4) .Value = DinnerComboBox.Value

JeiDateCheckBox1.Value =Tiesa TadaLąstelės (emptyRow, 5) .Value = DateCheckBox1.Caption

JeiDateCheckBox2.Value =Tiesa TadaLąstelės (emptyRow, 5). Value = Ląstelės (emptyRow, 5). Value & '& DateCheckBox2.Caption

JeiDateCheckBox3.Value =Tiesa TadaLąstelės (emptyRow, 5). Value = Ląstelės (emptyRow, 5). Value & '& DateCheckBox3.Caption

JeiCarOptionButton1.Value =Tiesa Tada
Ląstelės (emptyRow, 6). Value = 'Yes'
Kitas
Ląstelės (emptyRow, 6). Vertė = 'Ne'
Galas Jei

Ląstelės (emptyRow, 7) .Value = MoneyTextBox.Value

Galas Sub

Paaiškinimas: pirmiausia suaktyviname „Sheet1“. Toliau nustatome „emptyRow“. Kintamasis emptyRow yra pirmoji tuščia eilutė ir didėja kiekvieną kartą pridedant įrašą. Galiausiai mes perkeliame informaciją iš „Userform“ į konkrečius „emptyRow“ stulpelius.

7. Dukart spustelėkite mygtuką Išvalyti.

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

Privatus Sub„ClearButton_Click“ ()

SkambintiUserForm_Initialize

Galas Sub

Paaiškinimas: ši kodo eilutė iškviečia Sub UserForm_Initialize, kai spustelite mygtuką Išvalyti.

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

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

Privatus SubCancelButton_Click ()

Iškrauti mane

Galas Sub

Paaiškinimas: ši kodo eilutė uždaro vartotojo formą, kai spustelite mygtuką Atšaukti.

Išbandykite „Userform“

Išeikite iš „Visual Basic“ redaktoriaus, įveskite toliau pateiktas etiketes į 1 eilutę ir išbandykite „Userform“.

Rezultatas:

Išbandykite „Userform“

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



^