Wie kan ich Abfrage ob die "strg oder alt" taste gedrückt ist?
Vielen dank Gerhard
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Shift = 2 Then
MsgBox "Strg-Taste ist gedrückt!"
ElseIf Shift = 4 Then
MsgBox "Alt-Taste ist gedrückt!"
End If
'Shift =
'0 = keine
'1 = Shift (Umschalt)
'2 = Strg
'3 = Shift + Strg
'4 = Alt
'5 = Shift + Alt
'6 = Strg + Alt
'7 = Shift + Strg + Alt
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [G4:O27]) Is Nothing Then
Cancel = True
If KeyDown(scancode)Then
bieten
GoTo ende
End If
End If
ActiveCell.Offset(1, 0).Activate
ende:
End Sub
Um abzufragen, ob die "Strg" oder "Alt" Taste gedrückt ist, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.
Kopiere den folgenden Code in das Modul:
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Shift = 2 Then
MsgBox "Strg-Taste ist gedrückt!"
ElseIf Shift = 4 Then
MsgBox "Alt-Taste ist gedrückt!"
End If
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Füge einen Button (CommandButton) in dein Arbeitsblatt ein und verknüpfe ihn mit dem obigen Makro.
Jetzt zeigt das Makro eine Nachricht an, wenn die "Strg" oder "Alt" Taste gedrückt wird.
Fehler: "Der Code funktioniert nicht."
Fehler: "KeyDown wird nicht erkannt."
KeyDown
ist nicht standardmäßig in Excel verfügbar. Verwende stattdessen die Shift
-Variable im oben angegebenen Code, um die gedrückten Tasten zu überprüfen.Eine alternative Methode zur Abfrage der "Strg" oder "Alt" Taste könnte die Verwendung von Keyboard Hooks oder API-Funktionen in VBA sein. Diese Methode ist jedoch komplexer und erfordert fortgeschrittene Kenntnisse in der Programmierung. Für die meisten Benutzer ist die oben beschriebene Methode ausreichend.
Hier ist ein praktisches Beispiel, wie du die "Strg" oder "Alt" Taste in einer Arbeitsmappe verwenden kannst:
Verwende den folgenden Code im Worksheet_BeforeDoubleClick
-Ereignis, um die Tasten zu überprüfen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [G4:O27]) Is Nothing Then
Cancel = True
If (GetAsyncKeyState(vbKeyControl) < 0) Then
MsgBox "Strg-Taste ist gedrückt!"
ElseIf (GetAsyncKeyState(vbKeyMenu) < 0) Then
MsgBox "Alt-Taste ist gedrückt!"
End If
End If
End Sub
Hierbei wird die GetAsyncKeyState
-Funktion verwendet, um die Tasten zu überprüfen.
Shift
-Variable, um mehrere Tastenabfragen zu kombinieren, z.B. Shift = 6
für "Strg" und "Alt".1. Wie kann ich die "Alt"-Taste in Excel abfragen? Du kannst die "Alt"-Taste mit der Shift-Variable im VBA-Code abfragen, wie im obigen Beispiel gezeigt.
2. Funktioniert das auch in Excel Online? Leider sind VBA-Makros in Excel Online nicht verfügbar. Du musst die Desktop-Version von Excel verwenden, um diese Funktionalitäten zu nutzen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen