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

Forumthread: ENTER Taste abfangen

ENTER Taste abfangen
21.04.2005 10:17:55
Scheidiger
Hallo VBA-Freaks
Ich habe wieder einmal ein Problem, das sieht wie folgt aus:
Ich möchte eine Prozedur ausführen sobald in einem Textfeld die Taste ENTER gedrückt wird.
Kann mir jemand sagen wie ich das hinkriege?
Ich danke euch schon im Voraus.
Gruss Christoph
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ENTER Taste abfangen
21.04.2005 10:33:10
Heiko
Hallo
der Code unten läßt nur noch ein verlassen einer Textbox über dir Enter Taste zu.
Der Letzte Teil ziegt dir wie man die Enter Taste abfängt.
Public blnEnter As Boolean

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If blnEnter = False Then
Cancel = True
Else
blnEnter = False
End If
End Sub


Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
MsgBox TextBox1.Value
blnEnter = True
End If
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: ENTER Taste abfangen
21.04.2005 11:13:29
Scheidiger
Hoi Heiko
Vielen Dank! Ich habe es mit der zweiten Variante gemacht und es hat geklappt! Noch einen schönen Tag.
Gruss Christoph
;
Anzeige
Anzeige

Infobox / Tutorial

ENTER Taste in Excel abfangen


Schritt-für-Schritt-Anleitung

Um die ENTER-Taste in einem Textfeld innerhalb von Excel abzufangen und eine Prozedur auszuführen, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass beim Drücken der ENTER-Taste eine Nachricht angezeigt wird:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues UserForm hinzu und platziere ein Textfeld (TextBox1) darauf.
  3. Füge den folgenden Code in das Modul ein:
Public blnEnter As Boolean

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If blnEnter = False Then
        Cancel = True
    Else
        blnEnter = False
    End If
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then
        MsgBox TextBox1.Value
        blnEnter = True
    End If
End Sub
  1. Schließe den VBA-Editor und teste das UserForm.

Mit diesem Code wird die ENTER-Taste (return taste) abgerufen und eine Nachricht mit dem Inhalt des Textfelds angezeigt, wenn die ENTER-Taste gedrückt wird.


Häufige Fehler und Lösungen

  • Fehler: Es wird keine Nachricht angezeigt, wenn die ENTER-Taste gedrückt wird.

    • Lösung: Stelle sicher, dass der Code korrekt in das UserForm eingefügt wurde. Überprüfe auch, ob das Textfeld den Namen TextBox1 hat.
  • Fehler: Das Textfeld lässt sich nicht verlassen.

    • Lösung: Achte darauf, dass Cancel = True nur gesetzt wird, wenn blnEnter auf False ist. Dies verhindert, dass das Textfeld ohne gültige Eingabe verlassen wird.

Alternative Methoden

Eine weitere Möglichkeit, die ENTER-Taste in Excel abzufangen, ist die Verwendung von Worksheet-Ereignissen. Du kannst den folgenden Code im Arbeitsblattmodul verwenden, um eine ähnliche Funktionalität zu erreichen:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then  ' Ändere die Adresse entsprechend
        MsgBox "Du hast in Zelle A1 etwas eingegeben: " & Target.Value
    End If
End Sub

Dieser Code reagiert auf Änderungen in Zelle A1, wenn der Benutzer die ENTER-Taste drückt.


Praktische Beispiele

  1. Eingabevalidierung: Verwende die ENTER-Taste, um sicherzustellen, dass nur gültige Daten in ein Textfeld eingegeben werden. Wenn die Eingabe ungültig ist, kann eine Fehlermeldung angezeigt werden.

  2. Datenverarbeitung: Nutze den Code, um eingegebene Daten direkt nach dem Drücken der ENTER-Taste zu verarbeiten, z.B. durch Speicherung in einer Datenbank oder einer Excel-Tabelle.


Tipps für Profis

  • KeyCode anpassen: Verwende KeyCode für andere Tasten, um verschiedene Aktionen auszuführen. Zum Beispiel kannst du die ESC-Taste abfangen, um das Textfeld zu leeren.

  • Ereignisse kombinieren: Kombiniere verschiedene Ereignisse (wie KeyDown, KeyUp und Change), um eine umfassendere Benutzersteuerung zu ermöglichen.

  • Code optimieren: Halte den Code modular und gut kommentiert, um die Wartung und Erweiterung zu erleichtern.


FAQ: Häufige Fragen

1. Wie kann ich die ENTER-Taste in einer ComboBox abfangen?
Du kannst den gleichen Ansatz wie bei der TextBox verwenden, indem du das KeyDown-Ereignis der ComboBox nutzt.

2. Funktioniert dieser Code in Excel 2016?
Ja, der gezeigte VBA-Code sollte in Excel 2016 sowie in anderen Versionen von Excel funktionieren, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige