Ist es möglich, ein makro durch strg-linkemaustaste auf einen zellbereich auszulösen?
Wenn ja, wie ginge das?
Gruss,
Tobias
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Debug.Print GetAsyncKeyState(17)
If GetAsyncKeyState(17) <> 0 Then
Cancel = True
Call MeinMakro
End If
End Sub
Modul Modul1
Option Explicit
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub MeinMakro()
MsgBox "Doppelklick + Strg"
End Sub
Gruß Tino
Um ein Makro in Excel durch einen Strg-Linksklick auszulösen, musst du folgendes VBA-Skript verwenden. Diese Anleitung ist für Excel-Versionen, die VBA unterstützen, geeignet.
Öffne den Visual Basic-Editor:
Alt
+ F11
, um den VBA-Editor zu öffnen.Füge ein neues Modul hinzu:
Einfügen
> Modul
.Füge das folgende Skript ein:
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim b As Integer
b = GetAsyncKeyState(17) ' 17 ist der Schlüsselcode für die Strg-Taste
If b = -32767 Then ' Überprüfen, ob die Strg-Taste gedrückt ist
Call DeinMakro
End If
End Sub
Public Sub DeinMakro()
MsgBox "Jetzt geht's los..."
End Sub
Speichere und schließe den Editor:
.xlsm
).Teste das Makro:
Fehler: Das Makro wird nicht ausgelöst
Lösung: Überprüfe, ob das Skript korrekt in das richtige Arbeitsblatt-Modul eingefügt wurde und dass makros in Excel aktiviert sind.
Fehler: Strg-Taste funktioniert nicht
Lösung: Stelle sicher, dass keine anderen Programme die Strg-Taste blockieren und dass du die richtige Excel-Version verwendest.
Wenn du das Makro nicht über einen Strg-Linksklick auslösen möchtest, kannst du auch die Strg-Rechte Maustaste verwenden. Hier ist ein Beispiel:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If GetAsyncKeyState(17) <> 0 Then
Cancel = True
Call MeinMakro
End If
End Sub
Public Sub MeinMakro()
MsgBox "Doppelklick + Strg"
End Sub
Mit dieser Methode kannst du die rechte Maustaste in Verbindung mit der Strg-Taste verwenden, um dein Makro zu aktivieren.
Debug.Print
-Funktion, um während der Entwicklung von VBA-Skripten Fehler zu identifizieren.1. Kann ich das Makro für andere Tastenkombinationen anpassen?
Ja, du kannst die Zahl 17
im Skript durch den entsprechenden Schlüsselcode für die gewünschte Taste ersetzen.
2. Funktioniert das in allen Excel-Versionen?
Das Skript sollte in allen Versionen von Excel, die VBA unterstützen, funktionieren, insbesondere in Excel 2010 und später.
3. Was tun, wenn ich keine Berechtigung habe, Makros zu verwenden?
Wende dich an deinen IT-Administrator, um die Makro-Einstellungen zu ändern, oder arbeite auf einem persönlichen Computer.
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