Sicher gibt's hierfür eine Lösung - nur find ich sie nicht :-)
Ich möchte, dass bei Drücken der Eingabetaste in einer ganz bestimmten Zelle eine bestimmte VBA-Aktion ausgeführt wird.
Wie geht das?
Vielen Dank sagt schon mal
der Jens
Application.OnKey "~", "DeineAktion"
Application.OnKey "{ENTER}", "DeineAktion"
Application.OnKey "~"
Application.OnKey "{ENTER}"
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Private Sub Worksheet_Change(ByVal Target As Range)
' Wenn mehr als eine Zelle ausgewählt wurde nichts tun.
If Target.Count > 1 Then Exit Sub
' Wenn Zelle A1 gemeint ist so, für C23 z.B. "$C$23"
If Target.Address = "$A$1" Then
MsgBox " Hier soll nun was ganz bestimmtes passieren !", vbInformation, " Info !"
' Hier kann dann mehr Code rein, oder ein anderes Makro aufgerufen werden.
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If strLastCell <> "" Then
' Für Zelle A1, sonst anpassen.
If Range(strLastCell).Address = "$A$1" Then
If GetAsyncKeyState(&HD) = -32768 Then
MsgBox "Letzte Zelle = A1 ENTER gedrückt !!! ", vbInformation
End If
End If
End If
strLastCell = Target.Address
End Sub
Um eine bestimmte Aktion auszuführen, wenn du die Eingabetaste in einer bestimmten Zelle drückst, kannst du den folgenden VBA-Code verwenden:
Öffne Excel und klicke mit der rechten Maustaste auf den Reiter des Tabellenblatts, in dem du die Aktion festlegen möchtest.
Wähle „Code anzeigen“ aus dem Kontextmenü.
Füge den folgenden Code in das sich öffnende Fenster ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If GetAsyncKeyState(&H0D) = -32768 Then ' 0D ist der ASCII-Code für die Eingabetaste
If Target.Address = "$A$1" Then ' Hier die gewünschte Zelle anpassen
MsgBox "Die Eingabetaste wurde gedrückt!", vbInformation
End If
End If
End Sub
Schließe den VBA-Editor und teste den Code, indem du in die Zelle A1 wechselst und die Eingabetaste drückst.
Der Code funktioniert nicht.
Die Eingabetaste reagiert nicht.
$A$1).Die Aktion wird nicht ausgelöst, wenn die Zelle leer ist.
Eine alternative Methode, um auf die Eingabetaste in Excel zu reagieren, ist die Verwendung der Application.OnKey Methode. Hier ist ein Beispiel:
Application.OnKey "~", "DeineAktion" ' Für die Eingabetaste
Mit dieser Methode kannst du eine benutzerdefinierte Funktion (DeineAktion) aufrufen, wenn die Eingabetaste gedrückt wird. Beachte, dass dies global für die gesamte Excel-Anwendung gilt.
Beispiel 1: Eine einfache Nachricht anzeigen, wenn die Eingabetaste in Zelle B2 gedrückt wird.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If GetAsyncKeyState(&H0D) = -32768 Then
If Target.Address = "$B$2" Then
MsgBox "Du hast die Eingabetaste in B2 gedrückt!", vbInformation
End If
End If
End Sub
Beispiel 2: Eine Aktion ausführen, wenn in Zelle C3 etwas eingegeben wird und die Eingabetaste gedrückt wird.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$3" Then
MsgBox "In C3 wurde etwas eingegeben und die Eingabetaste gedrückt!", vbInformation
End If
End Sub
GetAsyncKeyState Funktion für mehr Flexibilität, um auf verschiedene Tastenanschläge zu reagieren.1. Was ist die Eingabetaste? Die Eingabetaste (oder Enter-Taste) ist eine Taste auf der Tastatur, die häufig verwendet wird, um Eingaben zu bestätigen oder eine neue Zeile zu beginnen.
2. Welches ist die Eingabetaste bei Excel? Die Eingabetaste ist die Taste mit der Beschriftung „Enter“ oder „Eingabe“, und in Excel wird sie verwendet, um Daten in Zellen einzugeben oder zu bestätigen.