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

Tab-Tasten-Ereignis abfangen

Forumthread: Tab-Tasten-Ereignis abfangen

Tab-Tasten-Ereignis abfangen
17.07.2002 10:18:16
rene
Hallo Excel-User!

Ich hab eine Textbox in einem Formular und möchte gerne darauf reagieren können, wenn die Tab-Taste gedrückt wurde. Wie mach ich das? Mit KeyAscii=9 haut das nicht hin.

Gruß
René

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Tab-Tasten-Ereignis abfangen
17.07.2002 10:25:39
Andreas
Hallo René,

wenn Du Tab "abfangen" möchtest, dann nutze nicht das KeyPress-Ereignis der Textbox sondern entweder das KeyDown- oder KeyUp-Ereignis. KeyCode für Tab ist 9!

Viel Spaß,
Andreas
http://www.bei-andi.de/excel

Re: Tab-Tasten-Ereignis abfangen
17.07.2002 10:58:46
Rene
Hi Andreas!

Super Tipp! Danke. Funktioniert super.

Gruß
René

Anzeige
;
Anzeige

Infobox / Tutorial

Tab-Tasten-Ereignis in Excel abfangen


Schritt-für-Schritt-Anleitung

Um das Tab-Tasten-Ereignis in einer Textbox abzufangen, musst Du das KeyDown- oder KeyUp-Ereignis verwenden, da das KeyPress-Ereignis hier nicht funktioniert. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne dein Excel-Dokument und gehe zu den Entwicklertools.

  2. Füge ein UserForm hinzu und platziere eine Textbox auf dem Formular.

  3. Klicke mit der rechten Maustaste auf die Textbox und wähle "Code anzeigen".

  4. Füge den folgenden VBA-Code ein:

    Private Sub TextBox1_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
       If KeyCode = 9 Then ' 9 ist der Tab Keycode
           ' Hier kannst Du den Code hinzufügen, der ausgeführt werden soll
           MsgBox "Tab-Taste wurde gedrückt!"
           KeyCode = 0 ' Verhindert, dass der Fokus verschoben wird
       End If
    End Sub
  5. Schließe den VBA-Editor und teste dein Formular.

Mit diesem Code kannst Du das Tab-Tasten-Ereignis erfolgreich abfangen und darauf reagieren.


Häufige Fehler und Lösungen

Fehler 1: Tab-Taste funktioniert nicht wie erwartet

  • Lösung: Stelle sicher, dass Du den richtigen KeyCode für die Tab-Taste verwendest (9). Wenn Du das KeyPress-Ereignis nutzt, wird das nicht funktionieren.

Fehler 2: Fokus verschiebt sich trotzdem

  • Lösung: Setze KeyCode = 0 innerhalb des Ereignisses, um zu verhindern, dass der Fokus auf das nächste Steuerelement verschoben wird.

Alternative Methoden

Wenn Du nicht nur auf die Tab-Taste reagieren möchtest, kannst Du auch andere Tasten abfangen. Hier sind Alternativen:

  • Verwende das KeyUp-Ereignis anstelle von KeyDown, wenn Du den Fokus nach dem Loslassen der Taste ändern möchtest.
  • Nutze das KeyPress-Ereignis für Buchstaben oder Zahlen, aber beachte, dass Tab dort nicht funktioniert.

Praktische Beispiele

Hier ist ein Beispiel, wie Du mit der Tab-Taste und anderen Tasten arbeiten kannst:

Private Sub TextBox1_KeyUp(KeyCode As MSForms.ReturnInteger, Shift As Integer)
    If KeyCode = 9 Then ' Tab Keycode
        MsgBox "Du hast die Tab-Taste losgelassen!"
    ElseIf KeyCode = 13 Then ' Enter Keycode
        MsgBox "Du hast die Eingabetaste gedrückt!"
    End If
End Sub

In diesem Beispiel kannst Du sowohl die Tab- als auch die Enter-Taste abfangen und entsprechende Aktionen ausführen.


Tipps für Profis

  • Um die Benutzererfahrung zu verbessern, kannst Du visuelle Hinweise geben, wenn die Tab-Taste gedrückt wird, anstatt nur eine MessageBox anzuzeigen.
  • Experimentiere mit verschiedenen Steuerelementen und deren Ereignissen, um ein umfassendes Verständnis für die Ereignissteuerung in VBA zu entwickeln.

FAQ: Häufige Fragen

1. Wie finde ich den Keycode für andere Tasten? Du kannst eine einfache MessageBox verwenden, um den KeyCode herauszufinden, indem Du alle Tasten abfängst und den KeyCode anzeigst.

2. Kann ich die Tab-Taste in einem normalen Arbeitsblatt abfangen? Das Abfangen der Tab-Taste funktioniert nur in Formularen oder Steuerelementen, da Excel-Standardarbeitsblätter die Tab-Taste für die Navigation verwenden.

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