Det finns många sätt du kan arbeta med dialogrutakontroller i VBA Excel 2016. Så om du är redo för det här steget, fortsätt läsa. Här får du reda på hur du arbetar med dialogrutakontroller i ett UserForm-objekt.
Flytta och ändra storlek på kontroller
När du har placerat en kontroll i en dialogruta kan du flytta den och ändra storlek på den genom att använda vanliga mustekniker. Eller för exakt kontroll kan du använda fönstret Egenskaper för att ange ett värde för kontrollens egenskaper Height, Width, Left eller Top.
Du kan välja flera kontroller genom att Ctrl+klicka på kontrollerna. Eller så kan du klicka och dra för att "lasso" en grupp kontroller. När flera kontroller har valts visar fönstret Egenskaper endast de egenskaper som är gemensamma för alla valda kontroller. Du kan ändra dessa gemensamma egenskaper, och ändringen kommer att göras för alla kontroller du väljer, vilket är mycket snabbare än att göra dem en i taget.
En kontroll kan dölja en annan kontroll; med andra ord kan du stapla en kontroll ovanpå en annan. Se till att du inte överlappar kontrollerna, om du inte har en bra anledning till att göra det.
Justerings- och avståndskontroller
Formatmenyn i VBE-fönstret innehåller flera kommandon som hjälper dig att justera och placera kontrollerna exakt i en dialogruta. Innan du använder dessa kommandon, välj de kontroller du vill arbeta med. Dessa kommandon fungerar precis som du kan förvänta dig. Här är en dialogruta med flera CheckBox-kontroller som håller på att justeras.
Välj kommandot Format –> Justera för att ändra justeringen av UserForm-kontroller.
När du väljer flera kontroller visas den senast valda kontrollen med vita handtag snarare än de vanliga svarta handtagen. Kontrollen med de vita handtagen är grunden för att justera eller ändra storlek på de andra valda kontrollerna när du använder Format-menyn.
Tillmötesgående tangentbordsanvändare
Många användare föredrar att navigera genom en dialogruta med hjälp av tangentbordet: Genom att trycka på Tab eller Skift+Tabb växlar du genom kontrollerna, medan en snabbknapp aktiveras omedelbart en viss kontroll.
För att se till att din dialogruta fungerar korrekt för tangentbordsanvändare måste du vara uppmärksam på två problem:
-
Flikordning
-
Acceleratornycklar
Ändra flikordningen
Tabbordningen bestämmer i vilken ordning kontrollerna aktiveras när användaren trycker på Tab eller Skift+Tab. Den bestämmer också vilken kontroll som har det initiala fokus - det vill säga vilken kontroll som är den aktiva kontrollen när dialogrutan först visas. Till exempel, om en användare skriver in text i en textruta, har textrutan fokus. Om användaren klickar på en alternativknapp har alternativknappen fokus. Den första kontrollen i tabbordningen har fokus när Excel först visar en dialogruta.
För att ställa in kontrollflikordningen, välj Visa → Tabordning. Du kan också högerklicka på dialogrutan och välja Tab Order från genvägsmenyn. I båda fallen visar Excel dialogrutan Tab Order.
Dialogrutan Tab Order.
Dialogrutan Tab Order listar alla kontroller i UserForm. Tabordningen i användarformuläret motsvarar ordningen på objekten i listan. För att ändra tabbordningen för en kontroll, välj den i listan och klicka sedan på knappen Flytta upp eller Flytta ned. Du kan välja mer än en kontroll (klicka samtidigt som du trycker på Shift eller Ctrl) och flytta dem alla samtidigt.
Istället för att använda dialogrutan Tab Order kan du ställa in en kontrolls position i tabulatorordningen genom att använda fönstret Egenskaper. Den första kontrollen i tabbordningen har en TabIndex-egenskap på 0. Om du vill ta bort en kontroll från tabbordningen, ställ in dess TabStop-egenskap till False.
Vissa kontroller (som Frame- eller MultiPage-kontroller) fungerar som behållare för andra kontroller. Kontrollerna inuti en containerkontroll har sin egen tabbordning. För att ställa in tabulatorordningen för en grupp alternativknappar i en ramkontroll, välj ramkontrollen innan du väljer kommandot Visa → Tabbordning.
Ställa in snabbtangenter
Normalt vill du tilldela en gasknapp, eller snabbtangent, till kontroller i dialogrutan. Du gör det genom att ange en bokstav för Accelerator-egenskapen i fönstret Egenskaper. Om en kontroll inte har en Accelerator-egenskap (en TextBox, till exempel), kan du fortfarande tillåta direkt tangentbordsåtkomst till den genom att använda en Label-kontroll. Det vill säga tilldela etiketten en acceleratorknapp och placera etiketten direkt före textrutan i tabulatorordningen.
Här är ett användarformulär med tre textrutor. Etiketterna som beskriver textrutorna har acceleratornycklar, och varje etikett föregår sin motsvarande textruta i tabulatorordningen. Om du trycker på Alt+D, till exempel, aktiveras textrutan bredvid avdelningsetiketten.
Använd Etiketter för att ge direkt åtkomst till kontroller som inte har gasknappar.
Testa ett användarformulär
VBE erbjuder tre sätt att testa en UserForm utan att anropa den från en VBA-procedur:
När en dialogruta visas i detta testläge kan du prova tabulatorordningen och gaspedalen.