Vba

Userform

Userform

Lisää säätimet | Näytä Userform | Määritä makrot | Testaa Userform



Tämä luku opettaa sinulle, kuinka luoda Excel VBA -käyttölomake . Luomamme Userform näyttää seuraavalta:

Excel VBA -käyttölomake





Lisää säätimet

Voit lisätä säätimet Userformiin suorittamalla seuraavat vaiheet.

1. Avaa Visual Basic Editor . Jos Project Explorer ei ole näkyvissä, valitse Näytä, Project Explorer.



2. Napsauta Insert, Userform. Jos Työkaluryhmä ei näy automaattisesti, napsauta Näytä, Työkaluryhmä. Näyttö on asetettava alla kuvatulla tavalla.

Userform -näytön asetukset Excel VBA: ssa

3. Lisää alla olevassa taulukossa luetellut säätimet. Kun tämä on suoritettu, tuloksen tulee olla yhdenmukainen aiemmin näytetyn Userform -kuvan kanssa. Luo esimerkiksi tekstiruudun ohjausobjekti napsauttamalla Työkalulaatikkoa TextBox. Seuraavaksi voit vetää käyttäjäruudun tekstiruudun. Kun saavut auton runkoon, muista piirtää tämä kehys ennen kuin asetat siihen kaksi valintanappia.

4. Muuta säätimien nimet ja kuvatekstit alla olevan taulukon mukaisesti. Nimiä käytetään Excel VBA -koodissa. Tekstitykset ovat niitä, jotka näkyvät näytölläsi. On hyvä käytäntö muuttaa säätimien nimiä. Tämä helpottaa koodin lukemista. Jos haluat muuttaa ohjausobjektien nimiä ja kuvatekstejä, napsauta Näytä, Ominaisuudet -ikkuna ja napsauta jokaista ohjainta.

Ohjaus Nimi Kuvateksti
Userform DinnerPlannerUserForm Illallisen suunnittelija
Tekstilaatikko NameTextBox
Tekstilaatikko PhoneTextBox
Luetteloruutu CityListBox
Yhdistelmälaatikko IllallinenComboBox
Valintaruutu DateCheckBox 1 13. kesäkuuta
Valintaruutu DateCheckBox2 20. kesäkuuta
Valintaruutu DateCheckBox3 27. kesäkuuta
Runko CarFrame Auto
Vaihtoehto -painike Autovalintapainike 1 Joo
Vaihtoehto -painike Autovalintapainike 2 Ei
Tekstilaatikko MoneyTextBox
Linkouspainike MoneySpinButton
Komento -painike OK -painike OK
Komento -painike ClearButton Asia selvä
Komento -painike Peruuta -painike Peruuttaa
7 Tarrat Ei tarvitse muuttaa Nimi :, Puhelinnumero: jne.

Huomautus: yhdistelmäruutu on avattava luettelo, josta käyttäjä voi valita kohteen tai täyttää oman valintansa. Vain yksi vaihtoehtopainikkeista voidaan valita.

Näytä Userform

Jos haluat näyttää Userformin, aseta a komentopainiketta laskentataulukkoon ja lisää seuraava koodirivi:

kuinka lasketaan kahden päivämäärän välisten päivien lukumäärä Excelissä
Yksityinen SubCommandButton1_Click ()

DinnerPlannerUserForm.Show

Loppu Sub

Aiomme nyt luoda Sub UserForm_Initialize. Kun käytät Näytä -menetelmää Userformissa, tämä osa suoritetaan automaattisesti.

1. Avaa Visual Basic Editor .

2. Napsauta Project Explorerissa hiiren kakkospainikkeella DinnerPlannerUserForm ja valitse sitten Näytä koodi.

3. Valitse Userform vasemmasta avattavasta luettelosta. Valitse Alusta oikeasta avattavasta luettelosta.

4. Lisää seuraavat koodirivit:

Yksityinen SubUserForm_Initialize ()

'Tyhjä NameTextBox
NameTextBox.Value = ''

'Tyhjä PhoneTextBox
PhoneTextBox.Value = ''

Tyhjä CityListBox
CityListBox.Clear

'Täytä CityListBox
KanssaCityListBox
.AddItem 'San Francisco'
.AddItem 'Oakland'
.AddItem 'Richmond'
Loppu Kanssa

'Tyhjä illallinen ComboBox
Illallinen ComboBox

'Täytä illallinenComboBox
KanssaIllallinenComboBox
.AddItem 'Italian'
.AddItem 'Kiinalainen'
.AddItem 'Frites and Meat'
Loppu Kanssa

Poista DataCheckBoxes -valintaruudut

DateCheckBox1.Value =Väärä
DateCheckBox2.Value =Väärä
DateCheckBox3.Value =Väärä

'Älä aseta oletuksena autoa
CarOptionButton2.Value =Totta

Tyhjä MoneyTextBox
MoneyTextBox.Value = ''

'Keskity NameTextBoxiin
NameTextBox.SetFocus

Loppu Sub

Selitys: tekstiruudut tyhjennetään, luetteloruudut ja yhdistelmäruudut on täytetty, valintaruutuja ei ole valittu jne.

Määritä makrot

Olemme nyt luoneet Userformin ensimmäisen osan. Vaikka se näyttää jo siistiltä, ​​mitään ei tapahdu vielä, kun napsautamme Userformin komentopainikkeita.

1. Avaa Visual Basic Editor .

kuinka jaetaan nollalla Excelissä

2. Kaksoisnapsauta Project Explorerissa DinnerPlannerUserForm.

3. Kaksoisnapsauta Money spin -painiketta.

4. Lisää seuraava koodirivi:

Yksityinen SubMoneySpinButton_Change ()

MoneyTextBox.Text = MoneySpinButton.Value

Loppu Sub

Selitys: tämä koodirivi päivittää tekstiruudun, kun käytät linkouspainiketta.

5. Kaksoisnapsauta OK -painiketta.

6. Lisää seuraavat koodirivit:

Yksityinen SubOKButton_Click ()

Ei mitäänemptyRowKuten Pitkä

'Tee Sheet1 aktiiviseksi
Arkki 1.Aktivoi

'Määritä tyhjä rivi
emptyRow = WorksheetFunction.CountA (Alue ('A: A')) + 1

'Siirrä tiedot
Solut (emptyRow, 1) .Value = NameTextBox.Value
Solut (emptyRow, 2) .Value = PhoneTextBox.Value
Solut (emptyRow, 3) .Arvo = CityListBox.Value
Solut (emptyRow, 4) .Value = DinnerComboBox.Value

JosDateCheckBox1.Value =Totta SittenSolut (emptyRow, 5) .Arvo = DateCheckBox1.Caption

JosDateCheckBox2.Value =Totta SittenSolut (emptyRow, 5) .Arvo = Solut (emptyRow, 5) .Arvo & '' & DateCheckBox2.Caption

JosDateCheckBox3.Value =Totta SittenSolut (emptyRow, 5) .Arvo = Solut (emptyRow, 5) .Arvo & '' & DateCheckBox3.Caption

JosCarOptionButton1.Value =Totta Sitten
Solut (emptyRow, 6). Value = 'Yes'
Muu
Solut (emptyRow, 6). Arvo = 'Ei'
Loppu Jos

Solut (emptyRow, 7) .Value = MoneyTextBox.Value

Loppu Sub

Selitys: aktivoimme ensin taulukon 1. Seuraavaksi määritämme tyhjän rivin. Muuttuja emptyRow on ensimmäinen tyhjä rivi ja kasvaa joka kerta, kun tietue lisätään. Lopuksi siirrämme tiedot Userformista tyhjän rivin erityisiin sarakkeisiin.

7. Kaksoisnapsauta Tyhjennä -painiketta.

8. Lisää seuraava koodirivi:

Yksityinen SubClearButton_Click ()

Soittaa puhelimellaUserForm_Initialize

Loppu Sub

Selitys: tämä koodirivi kutsuu Sub UserForm_Initialize -apuohjelman, kun napsautat Tyhjennä -painiketta.

9. Kaksoisnapsauta Peruuta -painiketta.

10. Lisää seuraava koodirivi:

Yksityinen SubCancelButton_Click ()

Purkaa minut

Loppu Sub

Selitys: tämä koodirivi sulkee käyttäjämuodon, kun napsautat Peruuta -painiketta.

Testaa Userform

Sulje Visual Basic Editor, kirjoita alla näkyvät tarrat riville 1 ja testaa Userform.

Tulos:

Testaa Userform

1/11 valmis! Lue lisää käyttäjämuodoista>
Siirry seuraavaan lukuun: Alue



^