Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabulator in Feldern weiter springen ...?

Tabulator in Feldern weiter springen ...?
Florian
Hallo Leute,
ich wollte euch mal fragen, wie man es in VBA schreibt, dass man durch drücken der Taste 'Tab' in ein beliebiges Textfeld springt.
Kann mir jemand helfen?
MFG
Flo
Anzeige
AW: Tabulator in Feldern weiter springen ...?
19.04.2004 18:53:00
Josef
Hallo Florian!
Welches Textfeld?
In einer Userform?
In der Tabelle?
Wenn in der Tabelle, aus Steuerelemente oder Formular?
Gruß Sepp
AW: Tabulator in Feldern weiter springen ...?
ChrisL
Hi Flo
Schade dass du deine Frage nicht genauer formulierst ;-)
Wenn du dich in einem Userform befindest benutze den TabIndex in den Eigenschaften sowie in VBA die Erweiterung TakeFocus.
Falls in einer Tabelle frage ich mich ob es Sinn macht, denn der User würde dauern in der TextBox landen. Falls es einem bestimmten Ablauf folgt ist es wieder etwas anders d.h. du könntest den User von einer bestimmten Zelle aus in die TextBox umleiten... usw. Ideen hätte ich noch viele, aber was war die Frage noch gleich?
Gruss
Chris
Anzeige
AW: Tabulator in Feldern weiter springen ...?
Florian
Also
ich habe Textboxen in Steuerelemente eines Formulars, keine Userform.
Und ich möchte die Bedingung mit einbringen in den Code:
Wenn Cursor in der Textbox1 und Benutzer drückt Taste 'Tab',
dann springe mit dem Cursor in die Textbox5.
Konnte ich euch so mein Problem näher bringen?
MFG
Flo
Anzeige
AW: Tabulator in Feldern weiter springen ...?
Ulf
Tabstop funktioniert bei controls in einer Tabelle nicht.
Ulf
AW: Tabulator in Feldern weiter springen ...?
19.04.2004 19:29:10
Josef
Hallo Florian!
Eine möglichkeit!

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then TextBox2.Activate
End Sub

Gruß Sepp
Anzeige
AW: Tabulator in Feldern weiter springen ...?
ChrisL
Hi Flo
Mit Textboxen aus den Steuerelementen Formular weiss ich es leider nicht. Aber verwende doch einfach diejenigen von "Visual Basic". Die Handhabung ist fast gleich...
In den Eigenschaften der TextBox unter LinkedCell erstellst du bei Bedarf die Verknüpfung mit einer Zelle.
Um den Tabsprung zu erreichen benötigst du folgenden Code.
https://www.herber.de/mailing/159601h.htm
Gruss
Chris
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Tabulator in Excel: So springst du effizient zwischen Textfeldern


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und gehe zu dem Formular, in dem die Textboxen vorhanden sind.

  2. Wähle die TextBox aus, in der du den Tabulator verwenden möchtest.

  3. Gehe zu den Eigenschaften der TextBox. Suche nach dem KeyDown-Ereignis.

  4. Füge den folgenden VBA-Code ein, um den Tabulator so zu konfigurieren, dass er zum gewünschten Textfeld springt:

    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       If KeyCode = vbKeyTab Then
           TextBox5.SetFocus
           KeyCode = 0 ' Verhindert das Standardverhalten des Tabulators
       End If
    End Sub
  5. Passe den Code an, indem du TextBox1 und TextBox5 durch die entsprechenden Namen deiner Textboxen ersetzt.

  6. Speichere dein Formular und teste die Funktion. Mit der Tab-Taste solltest du jetzt zwischen den Textfeldern weiter springen können.


Häufige Fehler und Lösungen

  • Fehler: Der Tabulator funktioniert nicht wie gewünscht.
    Lösung: Stelle sicher, dass du den KeyCode richtig überprüfst. Der Wert für die Tab-Taste ist vbKeyTab.

  • Fehler: Es springt nicht in die richtige TextBox.
    Lösung: Überprüfe den Namen der TextBoxen im Code. Sie müssen exakt mit den Namen übereinstimmen, die du im Formular verwendet hast.


Alternative Methoden

Wenn du eine andere Herangehensweise bevorzugst, kannst du die TabStop-Eigenschaft von Steuerelementen in Excel verwenden. Diese Methode ist jedoch eingeschränkt, da sie nicht immer die gewünschte Flexibilität bietet.

  1. Wähle das Steuerelement aus und gehe zu den Eigenschaften.
  2. Setze die TabStop-Eigenschaft auf True, um es in den Tabulatorfluss einzubeziehen.

Beachte, dass diese Funktionalität in einer Userform besser funktioniert als in der Excel-Tabelle selbst.


Praktische Beispiele

Angenommen, du hast ein Formular mit fünf TextBoxen, und du möchtest, dass das Drücken der Tab-Taste den Fokus von TextBox1 zu TextBox5 verschiebt. Der folgende VBA-Code könnte dir dabei helfen:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then
        TextBox5.SetFocus
        KeyCode = 0
    End If
End Sub

Dieser Code sorgt dafür, dass der Cursor beim Drücken der Tab-Taste direkt zur TextBox5 springt, wodurch der Benutzerfluss optimiert wird.


Tipps für Profis

  • Verwende TakeFocus-Methoden in Kombination mit dem Tabulator, um die Benutzererfahrung weiter zu verbessern.
  • Organisiere deine TextBoxen logisch, damit der Wechsel zwischen ihnen intuitiv und benutzerfreundlich ist.
  • Experimentiere mit verschiedenen Steuerelementen, um herauszufinden, welches für deine spezifischen Anforderungen am besten geeignet ist.

FAQ: Häufige Fragen

1. Wie kann ich die Tabulator-Reihenfolge in Excel ändern?
Du kannst die Tabulator-Reihenfolge über die TabIndex-Eigenschaft der Steuerelemente in deiner Userform oder deinem Formular anpassen.

2. Was ist der Unterschied zwischen KeyDown und KeyPress in VBA?
KeyDown wird ausgelöst, wenn eine Taste gedrückt wird, und kann auch spezielle Tasten wie Tab erkennen. KeyPress hingegen reagiert nur auf Zeichen und ignoriert Steuerungstasten.

3. Ist es möglich, den Tabulator in einer Tabelle zu verwenden?
Ja, aber die Funktionalität ist eingeschränkt. Es ist besser, VBA zu verwenden, um das Verhalten zu steuern, als sich auf die TabStop-Eigenschaft zu verlassen.

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