Arbeide med Excel 2016 Dialog Box Controls i VBA

Det er mange måter du kan arbeide med dialogbokskontroller i VBA Excel 2016. Så hvis du er klar for dette trinnet, holde lesing. Her finner du ut hvordan du kan jobbe med dialogbokskontroller i en Userform objekt.

Flytte og endre størrelsen på kontrollene

Når du plasserer en kontroll i en dialogboks, kan du flytte den, og endre størrelsen ved anvendelse av standardteknikker mus. Eller for presis kontroll, kan du bruke vinduet Egenskaper for å angi en verdi for kontrollens høyde, bredde, Venstre, eller Top eiendom.
Du kan velge flere kontroller ved Ctrl + klikke kontrollene. Eller du kan klikke og dra for å "lasso" en gruppe av kontroller. Når flere kontroller er valgt, viser vinduet Egenskaper bare de egenskapene som er felles for alle valgte kontroller. Du kan endre disse felles egenskaper, og endringen vil bli gjort til alle kontrollene du velger noe som er mye raskere enn å gjøre dem en om gangen

En kontroll kan skjule en annen kontroll.; med andre ord, kan du stable én kontroll oppå hverandre. Med mindre du har en god grunn for å gjøre det, sørg for at du ikke overlapper kontroller.

Justere og avstandskontroll

Format-menyen i VBE vinduet gir flere kommandoer for å hjelpe deg presist justere og plass kontrollene i en dialogboks. Før du bruker disse kommandoene, velg kontrollene du ønsker å arbeide med. Disse kommandoene virker bare som du kanskje forventer. Her er en dialogboks med flere avkrysningsruten kontroller som er i ferd med å bli justert
Velg Format - >.; Rett kommandoen til å endre justeringen av Userform controls.When du velger flere kontroller, vises den sist valgte kontrollen med hvite håndtak i stedet for de vanlige sorte håndtak. Kontrollen med de hvite håndtak er grunnlag for å justere eller endre størrelsen på de andre utvalgte kontroller når du bruker Format-menyen.

Plass tastatur brukere

Mange brukere foretrekker å navigere gjennom en dialogboks ved hjelp tastaturet: Hvis du trykker Tab eller Shift + Tab sykluser gjennom kontrollene, mens du trykker en hurtigtast umiddelbart aktiverer en bestemt kontroll

For å være sikker på at din dialogboksen fungerer for tastatur brukere, må du være oppmerksom på to. problemstillinger:

Tab for

Accelerator nøkler

Endre tab for den

Fanen orden bestemmer rekkefølgen som kontrollene aktiveres når brukeren trykker Tab eller Shift + Tab. Det avgjør også hvilken kontroll har den innledende fokusere Anmeldelser - det vil si, som kontrollerer er aktiv kontroll når dialogboksen vises først. For eksempel, hvis en bruker skriver inn tekst i en tekstboks, har TextBox fokus. Hvis brukeren klikker en OptionButton har OptionButton fokus. Den første kontrollen i kategorien orden har fokus når Excel første viser en dialogboks

For å slå kontroll tab rekkefølge, velger du Vis &rarr.; Tab Order. Du kan også høyreklikke dialogboksen og velger Tab Bestill fra hurtigmenyen. I begge tilfeller, viser Excel Tab Order.
Tab Order.

Tab Order lister opp alle kontrollene i Userform. Fanen orden i Userform tilsvarer rekkefølgen på elementene i listen. For å endre kategorien ordre av en kontroll, velger du den i listen, og klikk deretter Flytt opp eller Flytt ned-knappen. Du kan velge mer enn én kontroll (klikk mens du trykker Shift eller Ctrl) og flytte dem alle på én gang.
Snarere enn å bruke Tab Order, kan du angi en kontroll posisjon i kategorien orden ved hjelp av vinduet Properties . Den første kontrollen i kategorien Ordren har en tabindex ON eiendom 0. Hvis du vil fjerne en kontroll fra kategorien orden, setter sin TabStop eiendom til False.
Noen kontroller (for eksempel Frame eller flersidig kontroller) fungerer som beholdere for andre kontroller. Kontrollene inne i en container kontrollen har sin egen fane rekkefølge. Slik stiller fanen for at en gruppe av OptionButtons inne i en ramme kontrollen, og velg Frame kontroll før du velger View → Tab Order kommandoen.

Innstilling hurtigtaster

Normalt ønsker du å tildele en akselerator tasten eller hurtigtast,
å dialogboks kontroller. Dette gjør du ved å skrive et brev for Accelerator eiendommen i vinduet Egenskaper. Hvis en kontroll ikke har en Accelerator eiendom (en tekstboks, for eksempel), kan du likevel tillate direkte tastatur tilgang til den ved hjelp av en etikett kontroll. Det vil si, tildele en akselerator nøkkelen til etikett og sette etiketter direkte før TextBox i kategorien orden.

Her er en Userform med tre tekstbokser. Etiketter som beskriver tekstboksene har akselerator nøkler, og hver etikett foran den tilsvarende TextBox i kategorien rekkefølge. Trykke Alt + D, for eksempel, aktiverer tekstboksen ved Institutt etikett.
Bruk etiketter for å gi direkte tilgang til kontroller som ikke har akselerator nøklene.
Teste en Userform

VBE tilbyr tre måter å teste en Userform uten å kalle det fra en VBA prosedyre:

Velg Run → Kjør Sub /Userform-kommandoen.

  • Trykk F5.
  • Klikk på Run Sub /Userform-knappen på standardverktøylinjen.

    Når en dialogboks vises i denne testmodus, kan du prøve ut flippen orden og akselerator tastene. Anmeldelser