Dodajte kontrole | Prikažite Userform | Dodijelite makronaredbe | Testirajte Userform
Ovo poglavlje vas uči kako stvoriti Korisnički obrazac programa Excel VBA. Userform koji ćemo stvoriti izgleda ovako:
Dodajte kontrole
Za dodavanje kontrola u Userform, izvedite sljedeće korake.
1. Otvorite Visual Basic Editor. Ako Project Explorer nije vidljiv, kliknite View, Project Explorer.
2. Pritisnite Umetni, Korisnički obrazac. Ako se Toolbox ne pojavi automatski, kliknite View, Toolbox. Zaslon bi trebao biti postavljen na sljedeći način.
3. Dodajte kontrole navedene u donjoj tablici. Nakon što je ovo dovršeno, rezultat bi trebao biti u skladu sa slikom Userform -a prikazanom ranije. Na primjer, stvorite kontrolu okvira za tekst klikom na TextBox iz okvira s alatima. Zatim možete povući tekstualni okvir na Userform. Kad dođete do okvira automobila, ne zaboravite prvo nacrtati ovaj okvir prije nego što u njega postavite dva gumba s opcijama.
4. Promijenite nazive i natpise kontrola prema donjoj tablici. Imena se koriste u Excel VBA kodu. Naslovi su oni koji se pojavljuju na vašem zaslonu. Dobra je praksa promijeniti nazive kontrola. Tako će se vaš kôd lakše čitati. Da biste promijenili nazive i natpise kontrola, kliknite Prikaz, prozor Svojstva i kliknite na svaku kontrolu.
Kontrolirati | Ime | Naslov |
---|---|---|
Korisnički obrazac | DinnerPlannerUserForm | Planer večera |
Okvir za tekst | NameTextBox | |
Okvir za tekst | PhoneTextBox | |
Okvir s popisom | CityListBox | |
Kombinirana kutija | DinnerComboBox | |
Potvrdni okvir | DateCheckBox1 | 13. lipnja |
Potvrdni okvir | DateCheckBox2 | 20. lipnja |
Potvrdni okvir | DateCheckBox3 | 27. lipnja |
Okvir | Okvir automobila | Automobil |
Gumb opcije | CarOptionButton1 | Da |
Gumb opcije | CarOptionButton2 | Ne |
Okvir za tekst | MoneyTextBox | |
Okrenite gumb | MoneySpinButton | |
Naredbeni gumb | OK gumb | u redu |
Naredbeni gumb | ClearButton | Čisto |
Naredbeni gumb | Gumb za odustajanje | Otkazati |
7 naljepnica | Nema potrebe za promjenom | Ime :, Broj telefona: itd. |
Napomena: kombinirani okvir je padajući popis na kojem korisnik može odabrati stavku ili ispuniti svoj izbor. Može se odabrati samo jedan od gumba opcija.
Prikažite Userform
Da biste prikazali Userform, postavite naredbeni gumb na svoj radni list i dodajte sljedeći kodni redak:
Privatna pomoćna naredbaButton1_Click ()
DinnerPlannerUserForm.Show
Kraj podm
Sada ćemo stvoriti Sub UserForm_Initialize. Kada koristite metodu Show za Userform, ova podmena će se automatski izvršiti.
1. Otvorite Visual Basic Editor.
2. U Project Exploreru desnom tipkom miša kliknite DinnerPlannerUserForm, a zatim kliknite View Code.
3. Odaberite Korisnički obrazac s lijevog padajućeg popisa. Odaberite Initialize s desnog padajućeg popisa.
4. Dodajte sljedeće retke koda:
Privatni pomoćni korisnički obrazac_Initialize ()
'Prazan NameTextBox
NameTextBox.Value = ""
'Prazan PhoneTextBox
PhoneTextBox.Value = ""
'Prazan CityListBox
CityListBox.Clear
'Popunite CityListBox
Uz CityListBox
.Dodajte stavku "San Francisco"
.Dodajte stavku "Oakland"
.Dodati stavku "Richmond"
Završi s
'Prazna večeraComboBox
DinnerComboBox.Jasno
'Ispunite DinnerComboBox
Uz DinnerComboBox
.Dodatak "Talijanski"
.AddItem "kineski"
.Dodajte stavku "Frites and Meso"
Završi s
'Poništite odabir polja DataCheckBoxes
DateCheckBox1.Value = Netačno
DateCheckBox2.Value = Netačno
DateCheckBox3.Value = Netačno
'Postavi kao zadani nijedan automobil
CarOptionButton2.Value = Tačno
'Prazan MoneyTextBox
MoneyTextBox.Value = ""
'Postavite fokus na NameTextBox
NameTextBox.SetFocus
Kraj podm
Objašnjenje: tekstualni okviri su ispražnjeni, okviri s popisima i kombinirani okviri ispunjeni, potvrdni okviri su neoznačeni itd.
Dodijelite makronaredbe
Sada smo stvorili prvi dio Userform -a. Iako već izgleda uredno, ništa se neće dogoditi kada kliknemo naredbene gumbe na korisničkom obrascu.
1. Otvorite Visual Basic Editor.
2. U Project Exploreru dvaput kliknite na DinnerPlannerUserForm.
3. Dvaput kliknite gumb Money spin.
4. Dodajte sljedeći kodni redak:
Privatna podznaka MoneySpinButton_Change ()
MoneyTextBox.Text = MoneySpinButton.Vrijednost
Kraj podm
Objašnjenje: ovaj kodni redak ažurira tekstualni okvir kada koristite gumb za okretanje.
5. Dvaput kliknite gumb U redu.
6. Dodajte sljedeće retke koda:
Privatna podkamera OKButton_Click ()
Zatamni prazanRed kao dugo
'Učinite Sheet1 aktivnim
List1.Aktiviraj
'Odredite emptyRow
emptyRow = Funkcija radnog lista.CountA (Raspon ("A: A")) + 1
'Prijenos informacija
Ćelije (emptyRow, 1) .Value = NameTextBox.Value
Ćelije (emptyRow, 2) .Value = PhoneTextBox.Value
Ćelije (emptyRow, 3) .Value = CityListBox.Value
Ćelije (emptyRow, 4) .Value = DinnerComboBox.Value
Ako je DateCheckBox1.Value = True onda ćelije (emptyRow, 5) .Value = DateCheckBox1.Caption
Ako je DateCheckBox2.Value = True, tada ćelije (emptyRow, 5) .Value = Cells (emptyRow, 5) .Vrijednost & "" & DateCheckBox2.Caption
Ako je DateCheckBox3.Value = True, tada ćelije (emptyRow, 5) .Value = Cells (emptyRow, 5) .Vrijednost & "" & DateCheckBox3.Caption
Ako je CarOptionButton1.Value = True Tada
Ćelije (emptyRow, 6) .Value = "Da"
Drugo
Ćelije (emptyRow, 6) .Value = "Ne"
Završi ako
Ćelije (emptyRow, 7) .Value = MoneyTextBox.Value
Kraj podm
Objašnjenje: prvo aktiviramo Sheet1. Zatim određujemo emptyRow. Varijabla emptyRow prvi je prazan redak i povećava se svaki put kad se doda zapis. Na kraju, podatke iz Userform -a prenosimo u određene stupce emptyRow.
7. Dvaput kliknite gumb Clear.
8. Dodajte sljedeći kodni redak:
Privatna podcista ClearButton_Click ()
Nazovite UserForm_Initialize
Kraj podm
Objašnjenje: ovaj kodni redak naziva Sub UserForm_Initialize kada pritisnete gumb Clear.
9. Dvaput kliknite gumb Otkaži.
10. Dodajte sljedeći kodni redak:
Privatni pododustanakButton_Click ()
Iskrcaj Me
Kraj podm
Objašnjenje: ovaj kodni redak zatvara Userform kada kliknete na gumb Odustani.
Testirajte Userform
Izađite iz uređivača Visual Basic, unesite dolje navedene oznake u redak 1 i testirajte Userform.
Proizlaziti: