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

Makro durch Strg-Linkemaustaste auslösen-möglich?

Forumthread: Makro durch Strg-Linkemaustaste auslösen-möglich?

Makro durch Strg-Linkemaustaste auslösen-möglich?
20.03.2009 18:31:12
Tobias
Hallo allerseits,
Ist es möglich, ein makro durch strg-linkemaustaste auf einen zellbereich auszulösen?
Wenn ja, wie ginge das?
Gruss,
Tobias
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro durch Strg-Linkemaustaste auslösen-möglich?
20.03.2009 19:16:16
Hajo_Zi
Hallo Tobias,
warum nicht nur linke Maustaste?

AW: Makro durch Strg-Linkemaustaste auslösen-möglich?
20.03.2009 19:21:24
Tobias
Weil ich in der Zelle auch normalen Text schreiben können will,
und wenn das makro per klick ausgelöst wird, kann ich die zelle nicht mehr normal bearbeiten.
Hintergrund: ich hab ein makro gebastelt, das den kommagetrennten inhalt hyperverlinkt in einem listenfeld darstellt, das auftaucht sobald man strg-t drückt.
die idee war jetzt, statt strg-t zu drücken mit strg-mausklick.
aber ich vermute das geht wohl nicht....
gruss,
tobias
Anzeige
AW: Makro durch Strg-Linkemaustaste auslösen-möglich?
20.03.2009 19:30:08
Hajo_Zi
Hallo Tobias,
ja habe ich übersehen, benutze die recht Maustaste in Verbindung mit der Zelladresse.
Gruß Hajo
AW: Makro durch Strg-Linkemaustaste auslösen-möglich?
20.03.2009 19:31:50
ransi
HAllo Tobias
Nimm als Ansatz mal dieses:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

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)
    If b = -32767 Then Call Dein_Makro
End Sub

Public Sub Dein_Makro()
    MsgBox "Jetzt gehts los..."
End Sub

ransi
Anzeige
AW: sorry, ich meinte Strg-Doppelklick
20.03.2009 19:41:46
Tobias
Hallo,
versehen: ich meinte Strg-Doppelklick auf eine Zelle,
Strg-Klick wäre weniger sinnvoll und ist ausserdem ja schon von Excel sinnvoll belegt (markieren einzelner zelle)
@ransi: den ansatz versteh ich noch nicht ganz, werds mir aber noch genauer ansehen...
beste grüsse,
tobias
Anzeige
AW: Makro durch Strg-Linkemaustaste auslösen-möglich?
20.03.2009 20:57:07
Tino
Hallo,
ich könnte Dir Strg + rechte Maustaste anbieten.
kommt als Code in Tabelle1
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

Anzeige
die Zeile Debug.Print... noch löschen oT.
20.03.2009 21:08:47
Tino
AW: die Zeile Debug.Print... noch löschen oT.
24.03.2009 09:57:22
Tobias
Ja, viel besser!
Besten Dank!
beste grüsse,
tobias
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makro mit Strg-Linksklick in Excel auslösen


Schritt-für-Schritt-Anleitung

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.

  1. Öffne den Visual Basic-Editor:

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle Einfügen > Modul.
  3. 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
  4. Speichere und schließe den Editor:

    • Schließe den VBA-Editor und speichere dein Workbook als Makro-fähige Datei (z. B. .xlsm).
  5. Teste das Makro:

    • Klicke auf eine Zelle und halte die Strg-Taste gedrückt. Das Makro sollte nun aktiviert werden.

Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

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.


Praktische Beispiele

  • Hyperlink erstellen: Verwende das Makro, um Hyperlinks in einer Liste zu erstellen, sobald du Strg + Linksklick auf einen Zellenbereich machst.
  • Daten analysieren: Aktiviere das Makro, um eine Analyse der Daten in einer bestimmten Zelle durchzuführen.

Tipps für Profis

  • Nutze die Debug.Print-Funktion, um während der Entwicklung von VBA-Skripten Fehler zu identifizieren.
  • Halte deine Excel-Version auf dem neuesten Stand, um alle Funktionen und Sicherheitsupdates nutzen zu können.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige