Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tab Sprung Textbox Problem

Tab Sprung Textbox Problem
23.11.2018 12:40:14
Thomas
Hallo
Wenn ich eine Userform öffne und mit dem Courser in eine Textbox klicke und anschließend mit der TAB Taste weiterspringen möchte, klappt alles.
Sobald ich einen Text hineinschreibe, spring er innerhalb des Textfeldes weiter, aber nicht zum anderen Textfeld.
Wie kann ich das Springen innerhalb eines Textfeldes unterbinden, sodass dieser in
das nächste Textfeld spring?
Danke Schön.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tab Sprung Textbox Problem
23.11.2018 13:13:30
Torsten
Hallo,
also bei mir funktioniert das, auch wenn ich Text eingebe. Schau mal in den Eigenschaften der Textboxen, beim TabKeyBehavior. Sollte auf False sein.
Gruss Torsten
AW: Tab Sprung Textbox Problem
23.11.2018 14:27:44
Tommy
Der steht auf false.
Kann man den Tabsprung im Textfeld evtl. auch via VBA Script verbieten?
Oder vielleicht per Script sagen, wenn Textbox1, Tab, dann gehe zu ...?
Gruß
Anzeige
warum 1x Thomas & 1x Tommy ?
23.11.2018 14:42:06
Matthias
Hallo
Auf was steht MultiLine?
Schau doch mal in die VBA-Hilfe.
Markiere in den Eigenschaften der TextBox TabKeyBehavior
und drück F1
Da sollte Dir geholfen werden.
Gruß Matthias
AW: Tab Sprung Textbox Problem
23.11.2018 15:21:53
Daniel
Hi
über die Eigentschaft TabIndex kannst du festlegen, in welcher Reihenfolge die die Steuerelemente nach drücken der TAB-Taste angesprungen werden. Drückst du die TAB-Taste, wird das Steuerelement mit der nächsthöheren TabIndex-Nr angesprungen.
Wenn du das Verhalten bei TAB noch ganz anders haben willst, kannst du auch im KeyDown-Event abfragen, welche Taste gedrückt wurde und dort eine deinen Wünschen entsprechende Programmierung hinterlegen.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Tab Sprung in Textboxen mit VBA einstellen


Schritt-für-Schritt-Anleitung

  1. Userform öffnen: Erstelle oder öffne deine Userform in VBA.
  2. Textbox hinzufügen: Füge die gewünschten Textboxen hinzu, die du für die Eingabe verwenden möchtest.
  3. Eigenschaften anpassen:
    • Wähle die Textbox aus und gehe zu den Eigenschaften.
    • Setze die Eigenschaft TabKeyBehavior auf False, um das Springen innerhalb der Textbox zu verhindern.
  4. TabIndex festlegen: Setze die TabIndex-Eigenschaft für jede Textbox. Diese bestimmt die Reihenfolge, in der die Steuerelemente beim Drücken der TAB-Taste angesprungen werden.
  5. VBA Code hinzufügen (optional):

    • Um das Verhalten der TAB-Taste anzupassen, kannst du im KeyDown-Event der Textbox folgenden Code verwenden:
    Private Sub TextBox1_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
       If KeyCode = vbKeyTab Then
           KeyCode = 0 ' Verhindert das Standardverhalten
           TextBox2.SetFocus ' Setzt den Fokus auf die nächste Textbox
       End If
    End Sub

Häufige Fehler und Lösungen

  • Springen innerhalb der Textbox: Wenn du nach dem Eingeben von Text wieder innerhalb der Textbox springst, überprüfe, ob TabKeyBehavior tatsächlich auf False gesetzt ist.
  • TabIndex nicht berücksichtigt: Stelle sicher, dass die TabIndex-Werte korrekt und in der gewünschten Reihenfolge festgelegt sind. Wenn TabIndex nicht richtig eingestellt ist, wird der Fokus nicht wie gewünscht gesetzt.
  • VBA-Funktion arbeitet nicht: Wenn der VBA-Code nicht funktioniert, überprüfe, ob du ihn im richtigen KeyDown-Event der Textbox platziert hast.

Alternative Methoden

  • Verwendung von MultiLine: Setze die MultiLine-Eigenschaft der Textbox auf True, wenn du mehrzeilige Eingaben möchtest. Beachte jedoch, dass dies das Standardverhalten der TAB-Taste beeinflussen kann.
  • Steuerelemente gruppieren: Verwende Gruppenboxen, um Steuerelemente zu organisieren und die TabIndex-Reihenfolge übersichtlicher zu gestalten.

Praktische Beispiele

  • Einfaches Formular: Erstelle ein einfaches Userform mit zwei Textboxen. Setze TabKeyBehavior auf False und TabIndex wie folgt:
    • TextBox1: TabIndex = 0
    • TextBox2: TabIndex = 1
  • VBA Code für spezielle Anforderungen: Wenn du möchtest, dass bei Eingabe in TextBox1 automatisch zu TextBox2 gewechselt wird, nutze den oben genannten VBA-Code.

Tipps für Profis

  • Effiziente Nutzung von TabIndex: Plane die Reihenfolge der Steuerelemente im Voraus, um die Benutzerfreundlichkeit zu maximieren.
  • Verwende KeyPress-Events: Um noch mehr Kontrolle über die Eingaben zu haben, kannst du auch das KeyPress-Event nutzen, um zusätzliche Bedingungen zu überprüfen.
  • Testen der Userform: Teste deine Userform gründlich, um sicherzustellen, dass alle Steuerelemente wie gewünscht funktionieren.

FAQ: Häufige Fragen

1. Was ist TabKeyBehavior?
TabKeyBehavior ist eine Eigenschaft in VBA, die bestimmt, wie die TAB-Taste in einer Textbox funktioniert. Wenn sie auf False gesetzt ist, wird das Springen innerhalb der Textbox verhindert.

2. Wie stelle ich den TabIndex ein?
Der TabIndex kann in den Eigenschaften der Steuerelemente festgelegt werden. Er bestimmt die Reihenfolge, in der die Steuerelemente beim Drücken der TAB-Taste angesprungen werden.

3. Kann ich das Verhalten der TAB-Taste anpassen?
Ja, du kannst das Verhalten der TAB-Taste anpassen, indem du VBA-Code im KeyDown-Event der Textbox verwendest. So kannst du bestimmen, welches Steuerelement als nächstes den Fokus erhält.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige