Hver Excel dialogboksen som du oppretter i VBA er lagret i sin egen Userform objekt - en dialogboks per Userform. Du oppretter og få tilgang til disse UserForms i Visual Basic Editor
Sette inn en ny Userform
Sett en Userform objekt ved å gjøre følgende:.
Velg den arbeidsboken som vil holde Userform i prosjektvinduet
Velg Sett &rarr.; . Userform
VBE setter inn en ny Userform objekt, som inneholder en tom dialogboks
Her er en Userform -. En tom dialogboks. Din jobb, hvis du velger å akseptere det, er å legge til noen kontroller til dette Userform., En ny Userform objekt.
Legge til kontroller til en Userform
Når du aktiverer en Userform, VBE skjermer Toolbox i et flytende vindu. Du bruke verktøyene i verktøykassen for å legge kontrollene til Userform. Hvis en eller annen grunn, ikke Toolbox ikke vises når du aktiverer Userform, velger du Vis → Toolbox.
For å legge til en kontroll, klikker du bare på ønsket kontroll i verktøykassa og dra den inn i dialogboksen for å skape kontroll. Når du legger til en kontroll, kan du flytte og endre størrelse på det ved hjelp av standard teknikker.
Her er en liste over de ulike verktøyene, samt deres evner.
ControlWhat Det DoesLabelShows textTextBoxAllows brukeren å legge inn textComboBoxDisplays En rullegardin listListBoxDisplays en liste over itemsCheckBoxProvides alternativer som av /på eller ja /noOptionButtonAllows brukeren velge ett av flere alternativer; brukte ingroups av to eller moreToggleButtonEnables brukeren å bytte en knapp på eller offFrameContains annen controlsCommandButtonA klikkbar buttonTabStripDisplays tabsMultiPageA tabbed beholder for andre objectsScrollBarEnables brukeren å dra en bar for å etablere en settingSpinButtonEnables brukeren til å klikke på en knapp for å endre en valueImageHolds en imageRefEditAllows brukeren velge et område
Endre egenskaper for en Userform kontroll
Hver kontrollen du legge til en Userform har egenskaper som avgjør hvordan kontroll utseende eller oppfører seg. I tillegg har brukerskjema seg sitt eget sett av egenskaper. Du kan endre disse egenskapene med det treffende navnet vinduet Egenskaper. Dette viser Properties vinduet når en Command kontroll er valgt.
Bruk Egenskaper-vinduer for å endre egenskapene til Userform-kontroller.
Vinduet Egenskaper vises når du trykker F4, og egenskapene som vises i dette vinduet avhenger av hva som er valgt. Hvis du velger en annen kontroll, egenskapene endre til de aktuelle for denne kontrollen. For å skjule vinduet Egenskaper og få det ut av veien, klikker du på lukkeknappen i tittellinjen. Trykke F4 alltid bringer det tilbake når du trenger det
Egenskaper for kontroller omfatter følgende:.
Bredde
Høyde
Verdi
Caption
Hver kontroll har sitt eget sett med egenskaper (selv om mange kontroller har noen felles egenskaper) . For å endre en eiendom ved hjelp av vinduet Egenskaper, gjør du følgende: Hvis du velger Userform selv (ikke en kontroll på Userform), kan du bruke vinduet Egenskaper for å justere Userform egenskaper. Hver Userform objekt har en kode modul som holder VBA-kode (de hendelseshåndterer prosedyrer) som kjøres når brukeren arbeider med dialogboksen. For å se koden modulen, trykker F7. Koden vinduet er tom før du legger noen prosedyrer. Trykk Shift + F7 for å gå tilbake til dialogboksen Her er en annen måte å bytte mellom de etiske vinduet og Userform displayet. Bruk Vis-koden og Vis Object knappene i prosjekt vinduets tittellinje. Eller høyreklikk på Userform og velg Vis kode. Hvis du viser kode, dobbeltklikker du på Userform navnet i prosjektvinduet for å gå tilbake til Userform. Du viser en Userform ved hjelp av Userform Show metode i en .. VBA prosedyre Følgende fremgangsmåte viser dialogboksen heter UserForm1: Når Excel viser dialogboksen de ShowDialogBox makro stanser inntil brukeren lukker dialogboksen. Så VBA utfører eventuelle gjenværende uttalelser i prosedyren. Mesteparten av tiden, vil du ikke ha noe mer kode i prosedyren. Som du senere se, sette deg din hendelseshåndterer prosedyrer i kodevinduet for Userform. Disse prosedyrene sparke i når brukeren arbeider med kontrollene på Userform. VBE gir et navn for hver kontroll du legge til en Userform. Navnet kontrollens tilsvarer sitt navn eiendom. Bruk dette navnet for å referere til en bestemt kontroll i koden. For eksempel, hvis du legger til en avmerkingsboks kontrollen til en Userform heter UserForm1 er avmerkingsbokser kontroll oppkalt CheckBox1 som standard. Du kan bruke egenskapsboksen for å gjøre denne kontrollen vises med en hake. Eller du kan skrive kode for å gjøre det: Mesteparten av tiden, skriver du inn koden for en Userform i Userform kode modulen. Hvis det er tilfelle, kan du utelater Userform objekt kvalifiseringen og skrive uttalelsen slik: Din VBA-kode kan også sjekke ulike egenskapene til kontroller og ta nødvendige tiltak. Følgende uttalelse utfører en makro som heter PrintReport hvis boksen (oppkalt CheckBox1) er kontrollert:
Kontroller at riktig kontroll er valgt i Userform
Kontroller at vinduet Properties er synlig
I vinduet Egenskaper, klikk eiendommen som du vil endre.
Gjør endringen i den høyre delen av vinduet Egenskaper.
Vise Userform Kode vindu
Vise en Userform
makro som viser dialogboksen må være i en VBA-modul - ikke i kodevinduet for Userform
Sub ShowDialogBox () UserForm1.Show 'Andre uttalelser kan gå hereEnd Sub
Bruke informasjon fra en Userform
UserForm1.CheckBox1.Value = True
CheckBox1.Value = True
Hvis CheckBox1.Value = True Deretter Ring PrintReportIt er vanligvis en god idé å endre standardnavnet VBE har gitt kontrollene til noe mer meningsfylt.