Arbejde med UserForms i Excel 2016 VBA

Hver Excel-dialogboks, som du opretter i VBA, er gemt i sit eget UserForm-objekt — én dialogboks pr. UserForm. Du opretter og får adgang til disse brugerformularer i Visual Basic Editor.

Indsættelse af en ny brugerformular

Indsæt et UserForm-objekt ved at følge disse trin:

Aktiver VBE ved at trykke på Alt+F11.

Vælg den projektmappe, der skal indeholde brugerformularen i projektvinduet.

Vælg Indsæt → Brugerformular.

VBE'en indsætter et nyt UserForm-objekt, som indeholder en tom dialogboks.

Her er en brugerformular - en tom dialogboks. Dit job, hvis du vælger at acceptere det, er at tilføje nogle kontroller til denne brugerformular.

Arbejde med UserForms i Excel 2016 VBA

Et nyt UserForm-objekt.

Tilføjelse af kontrolelementer til en brugerformular

Når du aktiverer en brugerformular, viser VBE'en værktøjskassen i et flydende vindue. Du bruger værktøjerne i værktøjskassen til at tilføje kontrolelementer til din brugerformular. Hvis værktøjskassen af ​​en eller anden grund ikke vises, når du aktiverer din brugerformular, skal du vælge Vis → Værktøjskasse.

For at tilføje et kontrolelement skal du blot klikke på det ønskede kontrolelement i værktøjskassen og trække det ind i dialogboksen for at oprette kontrolelementet. Når du har tilføjet en kontrol, kan du flytte og ændre størrelsen på den ved at bruge standardteknikker.

Her er en liste over de forskellige værktøjer, samt deres muligheder.

Styring Hvad det gør
Etiket Viser tekst
Tekstboks Giver brugeren mulighed for at indtaste tekst
Kombinationsfelt Viser en rulleliste
ListBoks Viser en liste over elementer
Afkrydsningsfelt Giver muligheder såsom tænd/sluk eller ja/nej
Option-knap Giver brugeren mulighed for at vælge en af ​​flere muligheder; bruges i
grupper på to eller flere
Toggle-knap Gør det muligt for brugeren at slå en knap til eller fra
Ramme Indeholder andre kontroller
Kommandoknap En klikbar knap
TabStrip Viser faner
MultiPage En fanebeholder til andre genstande
Rullebar Gør det muligt for brugeren at trække en bjælke for at etablere en indstilling
Spin-knap Gør det muligt for brugeren at klikke på en knap for at ændre en værdi
Billede Indeholder et billede
RefEdit Giver brugeren mulighed for at vælge et område

Ændring af egenskaber for en UserForm-kontrol

Hver kontrol, du tilføjer til en UserForm, har egenskaber, der bestemmer, hvordan kontrolelementet ser ud eller opfører sig. Derudover har selve UserForm sit eget sæt egenskaber. Du kan ændre disse egenskaber med vinduet Egenskaber med passende navn. Dette viser vinduet Egenskaber, når en CommandButton-kontrol er valgt.

Arbejde med UserForms i Excel 2016 VBA

Brug vinduerne Egenskaber til at ændre egenskaberne for UserForm-kontroller.

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 et andet kontrolelement, ændres egenskaberne til dem, der passer til det pågældende kontrolelement. For at skjule vinduet Egenskaber og få det af vejen, skal du klikke på knappen Luk i dets titellinje. Et tryk på F4 bringer det altid tilbage, når du har brug for det.

Egenskaber for kontroller omfatter følgende:

  • Navn

  • Bredde

  • Højde

  • Værdi

  • Billedtekst

Hver kontrol har sit eget sæt af egenskaber (selvom mange kontrolelementer har nogle fælles egenskaber). Følg disse trin for at ændre en egenskab ved hjælp af vinduet Egenskaber:

Sørg for, at det korrekte kontrolelement er valgt i brugerformularen.

Sørg for, at vinduet Egenskaber er synligt.

I vinduet Egenskaber skal du klikke på den egenskab, du vil ændre.

Foretag ændringen i den højre del af vinduet Egenskaber.

Hvis du vælger selve UserForm (ikke et kontrolelement på UserForm), kan du bruge vinduet Egenskaber til at justere UserForm-egenskaber.

Se vinduet UserForm Code

Hvert UserForm-objekt har et kodemodul, der indeholder VBA-koden (hændelseshåndteringsprocedurerne), der udføres, når brugeren arbejder med dialogboksen. Tryk på F7 for at se kodemodulet. Kodevinduet er tomt, indtil du tilføjer nogle procedurer. Tryk på Shift+F7 for at vende tilbage til dialogboksen.

Her er en anden måde at skifte mellem kodevinduet og UserForm-visningen på: Brug knapperne Vis kode og Vis objekt i projektvinduets titellinje. Eller højreklik på brugerformularen og vælg Vis kode. Hvis du ser kode, skal du dobbeltklikke på UserForm-navnet i projektvinduet for at vende tilbage til UserForm.

Viser en brugerformular

Du viser en UserForm ved at bruge UserForms Vis metode i en VBA-procedure.

Makroen, der viser dialogboksen, skal være i et VBA-modul — ikke i kodevinduet for brugerformularen.

Følgende procedure viser dialogboksen med navnet UserForm1:

Sub ShowDialogBox()
  BrugerForm1.Vis
' Andre udtalelser kan gå her
Slut Sub

Når Excel viser dialogboksen, stopper ShowDialogBox-makroen, indtil brugeren lukker dialogboksen. Derefter udfører VBA eventuelle resterende udsagn i proceduren. Det meste af tiden vil du ikke have mere kode i proceduren. Som du senere ser, placerer du dine hændelseshåndteringsprocedurer i kodevinduet for brugerformularen. Disse procedurer starter, når brugeren arbejder med kontrollerne på brugerformularen.

Brug af information fra en brugerformular

VBE giver et navn for hver kontrol, du tilføjer til en brugerformular. Kontrolelementets navn svarer til dens Navn-egenskab. Brug dette navn til at henvise til en bestemt kontrol i din kode. Hvis du f.eks. tilføjer et CheckBox-kontrolelement til en UserForm ved navn UserForm1, hedder CheckBox-kontrolelementet CheckBox1 som standard. Du kan bruge boksen Egenskaber til at få denne kontrol til at blive vist med et flueben. Eller du kan skrive kode for at gøre det:

UserForm1.CheckBox1.Value = Sand

Det meste af tiden skriver du koden til en UserForm i UserForms kodemodul. Hvis det er tilfældet, kan du udelade UserForm-objektkvalifikationen og skrive sætningen sådan her:

CheckBox1.Value = Sand

Din VBA-kode kan også kontrollere forskellige egenskaber for kontrollerne og tage passende handlinger. Følgende sætning udfører en makro ved navn PrintReport, hvis afkrydsningsfeltet (kaldet CheckBox1) er markeret:

Hvis CheckBox1.Value = True, så ring til PrintReport

Det er normalt en god idé at ændre standardnavnet, som VBE har givet til dine kontroller, til noget mere meningsfuldt.


Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]