Det er mange måter du kan jobbe med dialogbokskontroller i VBA Excel 2016. Så hvis du er klar for dette trinnet, fortsett å lese. Her finner du ut hvordan du arbeider med dialogbokskontroller i et UserForm-objekt.
Flytte og endre størrelse på kontroller
Etter at du har plassert en kontroll i en dialogboks, kan du flytte den og endre størrelsen på den ved å bruke standard museteknikker. Eller for nøyaktig kontroll kan du bruke vinduet Egenskaper til å angi en verdi for kontrollens høyde, bredde, venstre eller topp-egenskap.
Du kan velge flere kontroller ved å Ctrl+klikke på kontrollene. Eller du kan klikke og dra for å "lasso" en gruppe kontroller. Når flere kontroller er valgt, viser Egenskaper-vinduet bare egenskapene som er felles for alle valgte kontroller. Du kan endre de vanlige egenskapene, og endringen vil bli gjort til alle kontrollene du velger, noe som er mye raskere enn å gjøre dem én om gangen.
En kontroll kan skjule en annen kontroll; med andre ord, du kan stable en kontroll oppå en annen. Med mindre du har en god grunn til å gjøre det, sørg for at du ikke overlapper kontrollene.
Justerings- og avstandskontroller
Format-menyen i VBE-vinduet inneholder flere kommandoer for å hjelpe deg med å justere og plassere kontrollene nøyaktig i en dialogboks. Før du bruker disse kommandoene, velg kontrollene du vil jobbe med. Disse kommandoene fungerer akkurat som du kanskje forventer. Her er en dialogboks med flere CheckBox-kontroller som er i ferd med å bli justert.
Velg kommandoen Format –> Juster for å endre justeringen av UserForm-kontroller.
Når du velger flere kontroller, vises den sist valgte kontrollen med hvite håndtak i stedet for de vanlige svarte håndtakene. Kontrollen med de hvite håndtakene er grunnlaget for å justere eller endre størrelsen på de andre valgte kontrollene når du bruker Format-menyen.
Imøtekommende tastaturbrukere
Mange brukere foretrekker å navigere gjennom en dialogboks ved å bruke tastaturet: Ved å trykke Tab eller Shift+Tab går du gjennom kontrollene, mens et trykk på en hurtigtast aktiverer en bestemt kontroll umiddelbart.
For å være sikker på at dialogboksen fungerer som den skal for tastaturbrukere, må du være oppmerksom på to problemer:
-
Fanerekkefølge
-
Akseleratortaster
Endre tabulatorrekkefølgen
Tabulatorrekkefølgen bestemmer rekkefølgen som kontrollene aktiveres i når brukeren trykker Tab eller Shift+Tab. Den bestemmer også hvilken kontroll som har det første fokuset - det vil si hvilken kontroll som er den aktive kontrollen når dialogboksen først vises. For eksempel, hvis en bruker skriver inn tekst i en tekstboks, har tekstboksen fokus. Hvis brukeren klikker på en alternativknapp, har alternativknappen fokus. Den første kontrollen i tabulatorrekkefølgen har fokus når Excel først viser en dialogboks.
For å angi kontrollfanerekkefølgen, velg Vis → Tabulatorrekkefølge. Du kan også høyreklikke på dialogboksen og velge Tab-rekkefølge fra hurtigmenyen. I begge tilfeller viser Excel dialogboksen Tab Order.
Dialogboksen Tab-rekkefølge.
Dialogboksen Tab-rekkefølge viser alle kontrollene i brukerskjemaet. Tab-rekkefølgen i brukerskjemaet tilsvarer rekkefølgen på elementene i listen. For å endre tabulatorrekkefølgen til en kontroll, velg den i listen og klikk deretter på Flytt opp eller Flytt ned-knappen. Du kan velge mer enn én kontroll (klikk mens du trykker på Shift eller Ctrl) og flytte dem alle samtidig.
I stedet for å bruke dialogboksen Tab Order, kan du angi en kontrolls posisjon i tabulatorrekkefølgen ved å bruke vinduet Egenskaper. Den første kontrollen i tabulatorrekkefølgen har en TabIndex-egenskap på 0. Hvis du vil fjerne en kontroll fra tabulatorrekkefølgen, setter du dens TabStop-egenskap til False.
Noen kontroller (som Frame- eller MultiPage-kontroller) fungerer som beholdere for andre kontroller. Kontrollene inne i en beholderkontroll har sin egen tabulatorrekkefølge. For å angi tabulatorrekkefølgen for en gruppe alternativknapper inne i en rammekontroll, velg rammekontrollen før du velger kommandoen Vis → Tabrekkefølge.
Innstilling av hurtigtaster
Normalt vil du tilordne en akseleratortast, eller hurtigtast, til dialogbokskontroller. Det gjør du ved å skrive inn en bokstav for Accelerator-egenskapen i vinduet Egenskaper. Hvis en kontroll ikke har en Accelerator-egenskap (for eksempel en TextBox), kan du fortsatt tillate direkte tastaturtilgang til den ved å bruke en Label-kontroll. Det vil si, tilordne en akseleratortast til etiketten og plasser etiketten rett foran tekstboksen i tabulatorrekkefølgen.
Her er et brukerskjema med tre tekstbokser. Etikettene som beskriver tekstboksene har akseleratortaster, og hver etikett kommer foran den tilsvarende tekstboksen i tabulatorrekkefølgen. Trykker du for eksempel Alt+D, aktiveres tekstboksen ved siden av avdelingsetiketten.
Bruk etiketter for å gi direkte tilgang til kontroller som ikke har gassnøkler.
Tester et brukerskjema
VBE tilbyr tre måter å teste en UserForm uten å kalle den fra en VBA-prosedyre:
Når en dialogboks vises i denne testmodusen, kan du prøve tabulatorrekkefølgen og akseleratortastene.