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

Systemweiten HotKey per Excle-Makro setzen

Forumthread: Systemweiten HotKey per Excle-Makro setzen

Systemweiten HotKey per Excle-Makro setzen
24.02.2026 16:32:14
Dagaz
Hat jemand für mich einen Beispielcode, wie ich mit einem Excel-Makro einen systemweiten HotKey setzen (und auch wieder aufheben) kann? Ziel soll sein, dass ein Makro ausgeführt wird, auch wenn Excel nicht den Fokus hat.
Bei meinen Recherchen bin ich über ‚Application.OnKey "^ü", "AufrufTaschenrechner"‘ gestolpert, das aber nur in Excel selber funktioniert. Auch mit ‚Lib „user32“‘ habe ich herumprobiert, aber leider brachten meine Versuche bisher nicht das gewünschte Ergebnis.

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Systemweiten HotKey per Excle-Makro setzen
24.02.2026 21:30:36
xlKing
Hi,

mal abgesehen davon, dass es HotKey-Programme gibt, mit denen du unter Windows bestimmten Tasten beliebige Funktionen zuweisen kannst. Was willst du denn eigentlich machen? Und welche Windows-Version hast du?

Man könnte in Excel einen Timer setzen, der prüft ob eine bestimmte Tastenkombination gedrückt wurde. Das funktioniert auch ASync. Du müsstest nur die Start-Funktion ausführen. z.B. im Workbook-Open-Ereignis. Dann wird das Makro bei der Kombi ausgeführt. Es gibt jedoch, nach dem was ich so lese, in Windows 11 offenbar keine Möglichkeit, aus Excel heraus sich selbst in den Vordergrund zu bringen und zu aktivieren. Das scheint beabsichtigt, ist allerdings sehr nervig. Bis Windows 10 funktionierte das ohne Probleme.

Hier der Code:
Private Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr

Private Declare PtrSafe Function KillTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long
Declare PtrSafe Function KeyPressed Lib "user32.dll" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer 'Wichtig Welche Taste wurde gedrückt

Dim tm As LongPtr
Dim KeyCombiPressed As Boolean
Dim HotKeyOn As Boolean

Sub StartTimer()
tm = SetTimer(Application.hwnd, 0, 250, AddressOf EvtChecker)
HotKeyOn = True
End Sub

Public Sub EvtChecker(ByVal hwnd As LongPtr, ByVal uMsg As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr)
If CBool(KeyPressed(17) And &H8000) And CBool(KeyPressed(186) And &H8000) And KeyCombiPressed = False And HotKeyOn Then
KeyCombiPressed = True
Call Makro1
ElseIf CBool(KeyPressed(186)) = False Then
KeyCombiPressed = False
End If
End Sub

Sub StopTimer()
KillTimer Application.hwnd, 0
HotKeyOn = False
End Sub

Sub Makro1()
Debug.Print "Taste Strg+Ü wurde gedrückt am " & Now
End Sub

Gruß Mr. K.
Anzeige
AW: Systemweiten HotKey per Excle-Makro setzen
25.02.2026 10:28:18
Yal
Moin,

Unter Win11 kann man mit der Tastenfolge Win-Taste, c,a,l,c, Enter den Windows Taschenrechner starten.

Wenn man dabei nicht blind reinhaut, sondern beobachtet, wie die Folge wirkt, kommen deine User auf eine neue Bewusstsein-Ebene der Windows-Nutzung: Shortcuts gibt es schon überall, muss man nur neugierig genug, um diese zu entdecken (Ostereiersuche 2.0)

Solche sehr aufwendige Nachprogrammierung von Lappalien habe ich gemacht, als jung war.

VG
Yal
Anzeige
AW: Systemweiten HotKey per Excle-Makro setzen
25.02.2026 09:10:11
Dagaz
Hallo xlKing,
HotKey-Programme sind mir bekannt, leider kann auf dem Windows 11-PC auf Grund von Einschränkungen kein solche Programm installiert werden. Trotzdem möchte ich den Usern eine ähnliche Unterstützung zukommen lassen wie mit solchen Programmen möglich wäre.
Der von "schauan" verlinkte Vorschlag funktioniert, ist aber leider sehr langsam. Man sieht erst ca. 4 Sekunden nach dem Drücken der Tastenkombination eine Reaktion. Hatte das schon mit einer manuell erstellten Verknüpfung getestet, die eine .bat-Datei aufruft, die dann ein bestimmtes Excel-Makro startet. Aber den Link per VBA zu erstellen ist cool.
Dein Code bringt eine schnellere Reaktion. Auf der Spur werde ich weitermachen.
Euch beiden vielen Dank!
VG
Dagaz
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18