Indholdsfortegnelse:
- Indsætte en ny UserForm
- Tilføjelse af kontroller til en UserForm
- Hver kontrol, du tilføjer til en UserForm, har egenskaber der bestemmer hvordan kontrollen ser ud eller opfører sig. Derudover har UserForm selv sit eget sæt egenskaber. Du kan ændre disse egenskaber med vinduet med passende navn. Dette viser vinduet Egenskaber, når en kommandokontrol er valgt.
- Hvert UserForm-objekt har et kode modul, der indeholder VBA-koden (hændelseshåndteringsprocedurerne), der udføres, når brugeren arbejder med dialogboksen. For at se kodemodulet, tryk på F7. Kodevinduet er tomt, indtil du tilføjer nogle procedurer. Tryk på Skift + F7 for at vende tilbage til dialogboksen.
- Du viser en UserForm ved brug af UserForms Show-metoden i en VBA-procedure.
- VBE giver et navn til hver kontrol, du tilføjer til en UserForm. Kontrolens navn svarer til dets Navn ejendom. Brug dette navn til at henvise til en bestemt kontrol i din kode. For eksempel, hvis du føjer en CheckBox-kontrol til en UserForm, der hedder UserForm1, bliver CheckBox-kontrol som navnet CheckBox1 som standard. Du kan bruge boksen Egenskaber til at få denne kontrol til at blive vist med et afkrydsningsfelt. Eller du kan skrive kode for at gøre det:
Video: Excel Experten Udvidet kursus 2024
Hver Excel-dialogboks, du opretter i VBA, gemmes i sit eget UserForm-objekt - en dialogboks pr. UserForm. Du opretter og får adgang til disse UserForms i Visual Basic Editor.
Indsætte en ny UserForm
Indsæt et UserForm-objekt ved at følge disse trin:
-
Aktiver VBE ved at trykke på Alt + F11.
-
Vælg arbejdsbogen, der holder UserForm i projektvinduet.
-
Vælg Indsæt → UserForm.
VBE indsætter et nyt UserForm-objekt, som indeholder en tom dialogboks.
Her er en UserForm - en tom dialogboks. Dit job, hvis du vælger at acceptere det, er at tilføje nogle kontroller til denne UserForm.
Et nyt UserForm-objekt.Tilføjelse af kontroller til en UserForm
Når du aktiverer en UserForm, viser VBE værktøjskassen i et flydende vindue. Du bruger værktøjerne i Værktøjskassen til at tilføje kontrolelementer til din UserForm. Hvis værktøjskassen af en eller anden grund ikke vises, når du aktiverer din UserForm, skal du vælge Vis → Værktøjskasse.
For at tilføje en kontrol skal du bare klikke på den ønskede kontrol i værktøjskassen og trække den i dialogboksen for at oprette kontrollen. Når du har tilføjet en kontrol, kan du flytte og ændre størrelsen ved hjælp af standardteknikker.
Her er en liste over de forskellige værktøjer, såvel som deres evner.
Kontroller | Hvad det gør |
---|---|
Etiket | Viser tekst |
Tekstboks | Giver brugeren mulighed for at indtaste tekst |
ComboBox | Viser en rulleliste |
ListBox < Viser en liste over elementer | CheckBox |
Giver indstillinger som f.eks. Tænd / sluk eller ja / nej | OptionButton |
Tillader brugeren at vælge en af flere muligheder; Anvendes i | grupper med to eller flere
ToggleButton |
Gør det muligt for brugeren at tænde eller slukke for en knap | Ramme |
Indeholder andre knapper | Kommandoknap |
En klikbar knap | TabStrip |
Viser faner | MultiPage |
En faneblad til andre objekter | ScrollBar |
Gør det muligt for brugeren at trække en bar for at etablere en indstilling | SpinButton |
Gør det muligt for brugeren at klikke på en knap for at ændre en værdi | Billede |
Indeholder et billede | RefEdit |
Tillader brugeren at vælge en rækkevidde | Ændring af egenskaber til en UserForm-kontrol |
Hver kontrol, du tilføjer til en UserForm, har egenskaber der bestemmer hvordan kontrollen ser ud eller opfører sig. Derudover har UserForm selv sit eget sæt egenskaber. Du kan ændre disse egenskaber med vinduet med passende navn. Dette viser vinduet Egenskaber, når en kommandokontrol er valgt.
Brug Egenskaber vinduerne til at ændre egenskaberne for UserForm-kontrollerne.
Egenskabsvinduet vises, når du trykker på F4, og egenskaberne vist i dette vindue afhænger af, hvad der er valgt.Hvis du vælger en anden kontrol, ændres egenskaberne til dem der passer til den kontrol. For at skjule vinduet Egenskaber og fjerne det, skal du klikke på knappen Luk i dens titellinje. Ved at trykke på F4 kommer det altid tilbage, når du har brug for det.Egenskaber til kontroller omfatter følgende:
Navn
-
Bredde
-
Højde
-
Værdi
-
Undertekst
-
Hver kontrol har sit eget sæt egenskaber (selvom mange kontroller har nogle fælles egenskaber). For at ændre en egenskab ved hjælp af vinduet Egenskaber skal du følge disse trin:
Kontroller, at den korrekte kontrol er valgt i UserForm.
-
Kontroller, at vinduet Egenskaber er synligt.
-
Klik på den egenskab, du vil ændre, i vinduet Egenskaber.
-
Foretag ændringen i den højre del af vinduet Egenskaber.
-
Hvis du vælger selve UserForm (ikke en kontrol på UserForm), kan du bruge vinduet Egenskaber til at justere UserForm egenskaber.
Vis vinduet UserForm-kode
Hvert UserForm-objekt har et kode modul, der indeholder VBA-koden (hændelseshåndteringsprocedurerne), der udføres, når brugeren arbejder med dialogboksen. For at se kodemodulet, tryk på F7. Kodevinduet er tomt, indtil du tilføjer nogle procedurer. Tryk på Skift + F7 for at vende tilbage til dialogboksen.
Her er en anden måde at skifte mellem kodevinduet og UserForm-skærmen: Brug knappen Vis kode og Vis objekt i projektfeltets titellinje. Eller højreklik på UserForm og vælg Vis kode. Hvis du ser kode, skal du dobbeltklikke på UserForm-navnet i projektvinduet for at vende tilbage til UserForm.
Visning af en UserForm
Du viser en UserForm ved brug af UserForms Show-metoden i en VBA-procedure.
Makroen, der viser dialogboksen, skal være i et VBA-modul - ikke i kodevinduet til UserForm.
Følgende procedure viser dialogboksen ved navn UserForm1:
Sub ShowDialogBox () UserForm1. Vis 'Andre udsagn kan gå her Afslut Sub
Når Excel viser dialogboksen, stopper makroen ShowDialogBox, indtil brugeren lukker dialogboksen. Så udfører VBA eventuelle resterende udsagn i proceduren. Det meste af tiden vil du ikke have mere kode i proceduren. Som du senere ser, sætter du dine begivenhedshåndteringsprocedurer i kodevinduet til UserForm. Disse procedurer starter ind, når brugeren arbejder med kontrollerne på UserForm.
Brug af oplysninger fra en UserForm
VBE giver et navn til hver kontrol, du tilføjer til en UserForm. Kontrolens navn svarer til dets Navn ejendom. Brug dette navn til at henvise til en bestemt kontrol i din kode. For eksempel, hvis du føjer en CheckBox-kontrol til en UserForm, der hedder UserForm1, bliver CheckBox-kontrol som navnet CheckBox1 som standard. Du kan bruge boksen Egenskaber til at få denne kontrol til at blive vist med et afkrydsningsfelt. Eller du kan skrive kode for at gøre det:
UserForm1. CheckBox1. Værdi = True
Det meste af tiden skriver du koden til en UserForm i UserForms kode modul. Hvis det er tilfældet, kan du udelade UserForm objektkvalifikatoren og skrive sætningen som denne:
CheckBox1.Værdi = True
Din VBA-kode kan også kontrollere forskellige egenskaber ved kontrollerne og træffe passende handlinger. Følgende sætning udfører en makro med navnet PrintReport, hvis afkrydsningsfeltet (navngivet CheckBox1) er markeret:
Hvis CheckBox1. Value = True Then Call PrintReport
Det er normalt en god ide at ændre det standardnavn, som VBE har givet til dine kontroller til noget mere meningsfuldt.