Innholdsfortegnelse:
- Sette inn en ny UserForm
- Legge til kontroller til en UserForm
- Hver kontroll du legger til i UserForm, har egenskaper som bestemmer hvordan kontrollen ser ut eller oppfører seg. I tillegg har UserForm selv sitt eget sett med egenskaper. Du kan endre disse egenskapene med det riktige navnet Egenskaper-vinduet. Dette viser Egenskaper-vinduet når en CommandButton-kontroll er valgt.
- Hvert UserForm-objekt har en kodemodul som inneholder VBA-koden (hendelseshåndteringsprosedyrene) som utføres når brukeren arbeider med dialogboksen. For å vise kodemodulen, trykk F7. Kodevinduet er tomt til du legger til noen prosedyrer. Trykk Shift + F7 for å gå tilbake til dialogboksen.
- Du viser en UserForm ved å bruke UserForms Show-metoden i en VBA-prosedyre.
- VBE gir et navn for hver kontroll du legger til i en UserForm. Kontrollens navn tilsvarer navnets egenskaper. Bruk dette navnet til å referere til en bestemt kontroll i koden din. Hvis du for eksempel legger til en kontrollboks-kontroll til en UserForm-navngitt UserForm1, blir kontrollboksen Kontroll som standard som CheckBox1. Du kan bruke boksen Egenskaper for å få denne kontrollen til å vises med et merke. Eller du kan skrive kode for å gjøre det:
Video: Top 15 Advanced Excel 2016 Tips and Tricks 2024
Hver Excel-dialogboks du lager i VBA, er lagret i sitt eget UserForm-objekt - en dialogboks per UserForm. Du lager og får tilgang til disse UserForms i Visual Basic Editor.
Sette inn en ny UserForm
Sett inn et UserForm-objekt ved å følge disse trinnene:
-
Aktiver VBE ved å trykke på Alt + F11.
-
Velg arbeidsboken som holder UserForm i prosjektvinduet.
-
Velg Sett inn → UserForm.
VBE legger inn et nytt UserForm-objekt, som inneholder en tom dialogboks.
Her er en UserForm - en tom dialogboks. Din jobb, hvis du velger å godta det, er å legge til noen kontroller i denne UserForm.
Et nytt UserForm-objekt.Legge til kontroller til en UserForm
Når du aktiverer en UserForm, viser VBE Verktøykassen i et flytende vindu. Du bruker verktøyene i Verktøykassen til å legge til kontroller i UserForm. Hvis, for noen grunn, Verktøykassen ikke vises når du aktiverer UserForm, velger du Vis → Verktøykasse.
For å legge til en kontroll, klikk bare på ønsket kontroll i verktøykassen og dra den inn i dialogboksen for å opprette kontrollen. Når du har lagt til en kontroll, kan du flytte og endre størrelsen på den ved hjelp av standardteknikker.
Her er en liste over de ulike verktøyene, samt deres evner.
Kontroller | Hva det gjør |
---|---|
Etikett | Viser tekst |
Tekstboks | Lar brukeren legge inn tekst |
ComboBox | Viser en rullegardinliste |
ListBox < Viser en liste over elementer | CheckBox |
Gir alternativer som på / av eller ja / nei | OptionButton |
Lar brukeren velge en av flere alternativer; Brukes i | grupper med to eller flere
ToggleButton |
Gjør det mulig for brukeren å slå på eller av en knapp | Ramme |
Inneholder andre kontroller | Kommandoknapp |
En klikkbar knapp | TabStrip |
Viser faner | MultiPage |
En flikbeholder for andre objekter | ScrollBar |
Lar brukeren dra en linje for å etablere en innstilling | SpinButton |
Gjør det mulig for brukeren å klikke på en knapp for å endre verdi | Bilde |
Holder et bilde | RefEdit |
Lar brukeren velge et område | Endre egenskaper for en UserForm-kontroll |
Hver kontroll du legger til i UserForm, har egenskaper som bestemmer hvordan kontrollen ser ut eller oppfører seg. I tillegg har UserForm selv sitt eget sett med egenskaper. Du kan endre disse egenskapene med det riktige navnet Egenskaper-vinduet. Dette viser Egenskaper-vinduet når en CommandButton-kontroll er valgt.
Bruk Egenskaper-vinduene for å endre egenskapene til UserForm-kontrollene.
Egenskapsvinduet vises når du trykker på F4, og egenskapene som vises i dette vinduet avhenger av hva som er valgt.Hvis du velger en annen kontroll, endres egenskapene til de som passer for den kontrollen. For å skjule vinduet Egenskaper og få det ut av veien, klikk på Lukk-knappen i tittellinjen. Ved å trykke på F4 kommer det alltid tilbake når du trenger det.Egenskaper for kontroller inkluderer følgende:
Navn
-
Bredde
-
Høyde
-
Verdi
-
Skjermbilde
-
Hver kontroll har sitt eget sett med egenskaper (selv om mange kontroller har noen vanlige egenskaper). For å endre en egenskap ved hjelp av Egenskaper-vinduet, følg disse trinnene:
Kontroller at riktig kontroll er valgt i UserForm.
-
Kontroller at vinduet Egenskaper er synlig.
-
I Egenskaper-vinduet klikker du på egenskapen du vil endre.
-
Gjør endringen i den høyre delen av Egenskaper-vinduet.
-
Hvis du velger selve UserForm (ikke en kontroll på UserForm), kan du bruke Egenskaper-vinduet til å justere UserForm-egenskaper.
Vise vinduet UserForm-kode
Hvert UserForm-objekt har en kodemodul som inneholder VBA-koden (hendelseshåndteringsprosedyrene) som utføres når brukeren arbeider med dialogboksen. For å vise kodemodulen, trykk F7. Kodevinduet er tomt til du legger til noen prosedyrer. Trykk Shift + F7 for å gå tilbake til dialogboksen.
Her er en annen måte å bytte mellom kodevinduet og UserForm-skjermen: Bruk Vis koden og Vis objektknappene i tittellinjen i Prosjektvinduet. Eller høyreklikk på UserForm og velg Vis kode. Hvis du ser kode, dobbeltklikker du på BrukerForm-navnet i prosjektvinduet for å gå tilbake til UserForm.
Vise en UserForm
Du viser en UserForm ved å bruke UserForms Show-metoden i en VBA-prosedyre.
Makroen som viser dialogboksen må være i en VBA-modul - ikke i kodevinduet for UserForm.
Følgende fremgangsmåte viser dialogboksen med navnet UserForm1:
Sub ShowDialogBox () UserForm1. Vis 'Andre setninger kan gå her Slutt Sub
Når Excel viser dialogboksen, stopper Macro ShowDialogBox til brukeren lukker dialogboksen. Deretter utfører VBA eventuelle gjenstående setninger i prosedyren. Mesteparten av tiden vil du ikke ha mer kode i prosedyren. Som du senere ser, setter du hendelseshåndteringsprosedyrene i kodevinduet for UserForm. Disse prosedyrene slår seg inn når brukeren arbeider med kontrollene på UserForm.
Bruke informasjon fra en UserForm
VBE gir et navn for hver kontroll du legger til i en UserForm. Kontrollens navn tilsvarer navnets egenskaper. Bruk dette navnet til å referere til en bestemt kontroll i koden din. Hvis du for eksempel legger til en kontrollboks-kontroll til en UserForm-navngitt UserForm1, blir kontrollboksen Kontroll som standard som CheckBox1. Du kan bruke boksen Egenskaper for å få denne kontrollen til å vises med et merke. Eller du kan skrive kode for å gjøre det:
UserForm1. CheckBox1. Verdi = True
Mesteparten av tiden skriver du koden for en UserForm i UserForms kodemodul. Hvis det er tilfelle, kan du utelate BrukerForm-objektkvalifikatoren og skrive setningen slik:
CheckBox1.Verdi = True
VBA-koden kan også sjekke ulike egenskaper til kontrollene og ta de nødvendige tiltakene. Følgende setning utfører en makro med navnet PrintReport hvis avkrysningsruten (kalt CheckBox1) er merket:
Hvis CheckBox1. Verdi = True Så ring PrintReport
Det er vanligvis en god ide å endre standardnavnet VBE har gitt til kontrollene dine til noe mer meningsfylt.