Aktivierungsreihenfolge von Steuerelementen - Tabindex
Gerade der Einsteiger in Userformen übersieht diese Eigenschaft von Steuerelementen gerne.
Viele Steuerelemente haben zwei diesbezügliche Eigenschaften:
Jeder, der sich auf Formularen bewegt und ein wenig Tastaturerfahren ist, nutzt die Tabulatortaste, um zum nächsten Eingabefeld zu springen bzw. sich auf das nächste Steuerelement zu bewegen.
Dann ist es natürlich eine Katastrophe, wenn wild im Formular herumgesprungen wird.
In unseren selbsterstellten Formularen (Userforms) können wir dies beeinflussen und zwar durch den:
Tabindex
der Steuerelemente.
Die Steuerelemente werden in der Reihenfolge ihres Tabindexes angesprungen!
(Sofern sie einen Tabindex haben und der
Tabstop auf True gesetzt ist)
Befindet sich also der User auf dem Steuerelement mit dem Tabindex 4 und drückt die Tabtaste, springt er zum nächsten Steuerlement - dem mit der Nummer 5 (Wenn Tabstop = True)
Gibt es kein Steuerelement mit einer höheren Nummer mit Tabstop = True, geht es von vorne los, also beim Tabindex 0.
Der VBA Editor bietet hier noch eine einfache Möglichkeit, die Reihenfolge festzulegen:
Klicken Sie mit der rechten Maustaste auf die Userform und wählen Sie im Kontextmenü Aktivierungsreihenfolge. Hier können Sie bequem die Steuerelemente in der Aktivierungsreihenfolge anordnen.
Setzen Sie den
Tabstop eines Steuerelementes auf False, so wird das Steuerelement nicht berücksichtigt.
Tabindex = 0
Dies ist eine ganz besondere Position und wird gerne übersehen.
Denn das Steuerelement mit dem Tabindex 0 und natürlich Tabstop = True, ist dass Steuerelement, welches beim Start der Userform den Focus erhält.
Wollen Sie also, dass z.B. eine bestimmte Textbox gleich zum Reinschreiben bereit ist, dann geben Sie dieser den Tabindex 0!
So und jetzt probieren Sie mal ein bisserl rum.
Übrigends - wussten Sie eigentlich, dass mit Shift+Tab man in der umgekehrten Reihenfolge springt