Der er mange måder, du kan arbejde med dialogbokskontroller i VBA Excel 2016. Så hvis du er klar til dette trin, så fortsæt med at læse. Her finder du ud af, hvordan du arbejder med dialogbokskontroller i et UserForm-objekt.
Flytning og ændring af størrelse på kontrolelementer
Når du har placeret en kontrol i en dialogboks, kan du flytte den og ændre størrelsen på den ved at bruge standard museteknikker. Eller for præcis kontrol kan du bruge vinduet Egenskaber til at indtaste en værdi for kontrolelementets egenskaber Højde, Bredde, Venstre eller Øverst.
Du kan vælge flere kontrolelementer ved at Ctrl+klikke på kontrolelementerne. Eller du kan klikke og trække for at "lasso" en gruppe kontroller. Når der er valgt flere kontrolelementer, viser vinduet Egenskaber kun de egenskaber, der er fælles for alle valgte kontrolelementer. Du kan ændre disse fælles egenskaber, og ændringen vil blive foretaget på alle kontroller, du vælger, hvilket er meget hurtigere end at gøre dem én ad gangen.
En kontrol kan skjule en anden kontrol; med andre ord, du kan stable en kontrol oven på en anden. Medmindre du har en god grund til at gøre det, skal du sørge for, at du ikke overlapper kontroller.
Justerings- og afstandskontroller
Formatmenuen i VBE-vinduet indeholder flere kommandoer, der hjælper dig med at justere og placere kontrolelementerne i en dialogboks præcist. Inden du bruger disse kommandoer, skal du vælge de kontroller, du vil arbejde med. Disse kommandoer fungerer lige som du kunne forvente. Her er en dialogboks med flere CheckBox-kontroller, der er ved at blive justeret.
Vælg kommandoen Format –> Juster for at ændre justeringen af UserForm-kontroller.
Når du vælger flere kontroller, vises den sidst valgte kontrol med hvide håndtag i stedet for de normale sorte håndtag. Styringen med de hvide håndtag er grundlaget for at justere eller ændre størrelsen på de andre valgte kontroller, når du bruger menuen Format.
Imødekommende tastaturbrugere
Mange brugere foretrækker at navigere gennem en dialogboks ved at bruge tastaturet: Ved at trykke på Tab eller Skift+Tab går du gennem kontrolknapperne, mens et tryk på en genvejstast øjeblikkeligt aktiverer en bestemt kontrol.
For at sikre, at din dialogboks fungerer korrekt for tastaturbrugere, skal du være opmærksom på to problemer:
-
Fanerækkefølge
-
Accelerator nøgler
Ændring af fanerækkefølgen
Tabulatorrækkefølgen bestemmer den rækkefølge, som kontrollerne aktiveres i, når brugeren trykker på Tab eller Shift+Tab. Det bestemmer også, hvilken kontrol der har det indledende fokus - det vil sige hvilken kontrol der er den aktive kontrol, når dialogboksen først vises. For eksempel, hvis en bruger indtaster tekst i en tekstboks, har tekstboksen fokus. Hvis brugeren klikker på en Option Button, har Option Button fokus. Den første kontrol i tabulatorrækkefølgen har fokus, når Excel først viser en dialogboks.
For at indstille kontroltabulatorrækkefølgen skal du vælge Vis → Tabulatorrækkefølge. Du kan også højreklikke på dialogboksen og vælge Fanerækkefølge fra genvejsmenuen. I begge tilfælde viser Excel dialogboksen fanerækkefølge.
Dialogboksen Fanerækkefølge.
Dialogboksen Tabulatorrækkefølge viser alle kontrolelementerne i brugerformularen. Tabulatorrækkefølgen i brugerformularen svarer til rækkefølgen af elementerne på listen. For at ændre tabulatorrækkefølgen for en kontrol, skal du vælge den på listen og derefter klikke på knappen Flyt op eller Flyt ned. Du kan vælge mere end én kontrol (klik mens du trykker på Shift eller Ctrl) og flytte dem alle på én gang.
I stedet for at bruge dialogboksen Tabulatorrækkefølge kan du indstille en kontrols placering i tabulatorrækkefølgen ved at bruge vinduet Egenskaber. Det første kontrolelement i tabulatorrækkefølgen har en TabIndex-egenskab på 0. Hvis du vil fjerne et kontrolelement fra tabulatorrækkefølgen, skal du indstille dens TabStop-egenskab til False.
Nogle kontrolelementer (såsom Frame- eller MultiPage-kontroller) fungerer som beholdere for andre kontrolelementer. Kontrolelementerne inde i en containerkontrol har deres egen fanerækkefølge. For at indstille tabulatorrækkefølgen for en gruppe af valgknapper inde i en rammekontrol, skal du vælge rammekontrolelementet, før du vælger kommandoen Vis → Tabulatorrækkefølge.
Indstilling af genvejstaster
Normalt vil du tildele en speedertast eller genvejstast til dialogbokskontroller. Det gør du ved at indtaste et bogstav for Accelerator-egenskaben i vinduet Egenskaber. Hvis et kontrolelement ikke har en Accelerator-egenskab (for eksempel en tekstboks), kan du stadig tillade direkte tastaturadgang til den ved at bruge en etiketkontrol. Det vil sige, tildel en acceleratortast til etiketten og læg etiketten direkte før tekstboksen i tabulatorrækkefølgen.
Her er en brugerformular med tre tekstbokse. De etiketter, der beskriver tekstboksene, har acceleratortaster, og hver etiket går forud for dens tilsvarende tekstboks i tabulatorrækkefølgen. Et tryk på Alt+D aktiverer for eksempel tekstboksen ved siden af afdelingsetiketten.
Brug etiketter til at give direkte adgang til kontrolelementer, der ikke har speedertaster.
Test af en brugerformular
VBE tilbyder tre måder at teste en UserForm uden at kalde den fra en VBA-procedure:
Når en dialogboks vises i denne testtilstand, kan du prøve tabulatorrækkefølgen og speedertasterne.