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

Makro starten bei Klick mit der Maus (!)

Forumthread: Makro starten bei Klick mit der Maus (!)

Makro starten bei Klick mit der Maus (!)
03.09.2014 08:57:33
Schmitty
Guten morgen zusammen,
ich möchte gerne ein Makro ausführen, wenn ich in eine Zelle mit der Maus klicke.
Wichtig ist, dass das Makro nicht ausgeführt wird, wenn ich mit dem Tabulator oder den Pfeiltasten der Tastatur auf die Zelle gelange!
Wichtig ist zu auch wissen, dass das Blatt geschützt ist, also kann man gesperrte Zellen auswählen aber nicht ändern.
Aus diesem Grund funktioniert das Ausführen des Makros mittels Doppelklick oder Rechtsklick nicht. (entweder bekomme ich wegen dem Blattschutz einen Fehler bzw. es öffenet sich ungewünscht das Kontextfenster)
Gruß
Christian

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro starten bei Klick mit der Maus (!)
03.09.2014 09:16:01
Rudi
Hallo,
per Rechtsklick:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
MsgBox "Hallo"
End Sub

Gruß
Rudi

AW: Makro starten bei Klick mit der Maus (!)
03.09.2014 09:25:38
Schmitty
Hallo Rudi,
danke für deine Antwort!
Es Funktioniert!
Gruß
Christian
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro starten bei Maus-Klick in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro bei einem Mausklick in einer Zelle auszuführen, folge diesen Schritten:

  1. Excel öffnen: Stelle sicher, dass du die richtige Excel-Version verwendest, die Makros unterstützt (z. B. Excel 2010 oder neuer).

  2. Visual Basic for Applications (VBA) öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Das richtige Arbeitsblatt auswählen:

    • Suche im Projektfenster nach dem Arbeitsblatt, auf dem du das Makro starten möchtest.
  4. Code einfügen:

    • Füge den folgenden Code in das Codefenster des Arbeitsblatts ein:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Not Intersect(Target, Range("A1")) Is Nothing Then ' Ändere "A1" zur gewünschten Zelle
           MsgBox "Makro wird ausgeführt!"
           ' Hier kannst du dein Makro aufrufen
       End If
    End Sub
  5. Makro testen:

    • Kehre zu Excel zurück und klicke auf die Zelle, die du festgelegt hast. Das Makro sollte nun ausgeführt werden.

Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt
    Lösung: Stelle sicher, dass du die richtige Zelle im Code angegeben hast und dass der Blattschutz nicht das Ausführen des Makros behindert.

  • Fehler: Kontextmenü öffnet sich
    Lösung: Verwende den Cancel Parameter im Worksheet_BeforeRightClick Event. Hier ein Beispiel:

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
      Cancel = True
      MsgBox "Rechtsklick deaktiviert, Makro wird ausgeführt!"
    End Sub

Alternative Methoden

Falls du das Makro nicht direkt mit einem Mausklick auslösen möchtest, gibt es alternative Methoden:

  • Verwendung von Schaltflächen: Du kannst eine Schaltfläche in dein Arbeitsblatt einfügen und das Makro an diese Schaltfläche binden.
  • Tastenkombinationen: Weisen Sie dem Makro eine Tastenkombination zu, um es schnell auszuführen.

Praktische Beispiele

  • Ein einfaches Makro: Hier ist ein Beispiel für ein einfaches Makro, das den Inhalt einer Zelle ändert, wenn du in diese Zelle klickst:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Target, Range("B1")) Is Nothing Then
          Target.Value = "Makro ausgeführt!"
      End If
    End Sub
  • Maus-Makros für mehrere Zellen: Du kannst den Code so anpassen, dass er für mehrere Zellen funktioniert:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Target, Range("A1:B2")) Is Nothing Then
          MsgBox "Makro für mehrere Zellen!"
      End If
    End Sub

Tipps für Profis

  • Verstecke das Makro: Um das Makro vor den Benutzern zu verbergen, kannst du es in einem Modul speichern und den Zugriff darauf einschränken.
  • Optimierung: Achte darauf, dass dein Makro effizient ist, um die Leistung zu verbessern, besonders bei großen Datenmengen.
  • Dokumentation: Kommentiere deinen Code regelmäßig, um die Wartbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich auch mehrere Makros gleichzeitig bei einem Mausklick ausführen?
Ja, du kannst mehrere Makros innerhalb des gleichen SelectionChange-Ereignisses aufrufen, indem du sie nacheinander im Code aufrufst.

2. Wie kann ich den Blattschutz umgehen, um ein Makro auszuführen?
Du kannst den Blattschutz temporär aufheben, indem du vor dem Aufruf des Makros den Blattschutz aufhebst und danach wieder aktivierst. Achte darauf, dass die Benutzer über die notwendigen Berechtigungen verfügen.

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