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

Forumthread: VBA Makro durch Doppelklick starten

VBA Makro durch Doppelklick starten
25.03.2020 10:46:59
Andi
Hallo ihr Lieben!
Ich habe ein Makro geschrieben, dass ich gerne über einen Doppelklick in einer bestimmten Spalte starten würde. Den Code habe ich dafür genutzt (ist in dem Tabellenblatt notiert, nicht bei den Modulen):
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Address = "$A$1:$A$10" Then
Makro1
End If
End Sub

Leider klappt das nicht, da direkt in die Zelle in den Bearbeitungsmodus gesprungen wird (in der Zelle ist eine Formel, die auch dort bleiben muss!). Bislang habe ich das Makro über einen einfachen klick aktiviert. Das hatte auch geklappt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A2:A10")) is Nothing Then
Call Makro1
End If
End Sub

Kann mir da jemand weiterhelfen, wie ich das mit einem Doppelklick aktiviere? Falls möglich, auch gerne so, dass es visuell sichtbar ist, dass auf die Zelle geklickt wurde.. Ist aber nicht super relevant (und soll kein Button sein)
Bin für jede Hilfe dankbar!
Gruß
Andi
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro durch Doppelklick starten
25.03.2020 10:49:49
UweD
Hallo
Cancel fehlt, was das NORMALE Doppelclick abbricht

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Address = "$A$1:$A$10" Then
Cancel=true
Makro1
End If
End Sub
LG UweD
AW: VBA Makro durch Doppelklick starten
25.03.2020 10:56:09
Andi
Hallo UweD,
wow, erstmal vielen Dank für die schnelle Antwort. Ich habe es gerade mal ausprobiert (mit dem cancel)und leider kommt beim Ausführen (doppelklick in die Zelle) die Fehlermeldung:
Laufzeitfehler ; Objekt unterstützt diese Eigenschaft oder methode nicht
wenn ich dann auf Debuggen klicke, markiert er mir diese Zeile:
If Target.Address = "$A$1:$A$10" Then
Weißt du, woran das liegen könnte?
Gruß,
Andi
Anzeige
AW: VBA Makro durch Doppelklick starten
25.03.2020 10:56:16
Andi
Hallo UweD,
wow, erstmal vielen Dank für die schnelle Antwort. Ich habe es gerade mal ausprobiert (mit dem cancel)und leider kommt beim Ausführen (doppelklick in die Zelle) die Fehlermeldung:
Laufzeitfehler ; Objekt unterstützt diese Eigenschaft oder methode nicht
wenn ich dann auf Debuggen klicke, markiert er mir diese Zeile:
If Target.Address = "$A$1:$A$10" Then
Weißt du, woran das liegen könnte?
Gruß,
Andi
Anzeige
AW: VBA Makro durch Doppelklick starten
25.03.2020 11:05:46
Werner
Hallo,
so:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Cancel = True
Makro1
End If
End Sub
Gruß Werner
AW: VBA Makro durch Doppelklick starten
25.03.2020 11:09:39
Andi
Hallo Werner,
super das hat geklappt. Vielen Dank!!
Gruß
Andi
Anzeige
Gerne und Danke für die Rückmeldung. o.w.T.
25.03.2020 11:32:14
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Makro durch Doppelklick starten


Schritt-für-Schritt-Anleitung

Um ein VBA Makro durch einen Doppelklick auf eine Zelle zu starten, musst du den folgenden Code in das entsprechende Tabellenblatt einfügen. Hier ist eine detaillierte Anleitung:

  1. Öffne Excel und gehe zu dem entsprechenden Arbeitsblatt.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Doppelklicke auf das Arbeitsblatt, in dem du das Makro aktivieren möchtest (zum Beispiel "Tabelle1").

  4. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
       If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
           Cancel = True
           Makro1
       End If
    End Sub
  5. Stelle sicher, dass dein Makro Makro1 existiert und korrekt programmiert ist.

  6. Schließe den VBA-Editor und teste den Doppelklick in den Zellen A1 bis A10.


Häufige Fehler und Lösungen

Wenn du beim Doppelklick auf die Zelle auf Probleme stößt, hier einige häufige Fehler und deren Lösungen:

  • Laufzeitfehler: Objekt unterstützt diese Eigenschaft oder Methode nicht
    Dieser Fehler tritt auf, wenn der Code auf eine Zelle zugreift, die nicht korrekt definiert ist. Achte darauf, dass der Bereich in Intersect korrekt angegeben ist. Der Code sollte so aussehen:

    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
  • Doppelklick führt in den Bearbeitungsmodus
    Stelle sicher, dass du Cancel = True in deinem Code verwendest, um den Bearbeitungsmodus zu verhindern:

    Cancel = True

Alternative Methoden

Falls du eine andere Möglichkeit suchst, um ein Makro zu starten, kannst du auch den Worksheet_SelectionChange-Ereignis verwenden. Hier ein Beispiel:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then
        Call Makro1
    End If
End Sub

Diese Methode aktiviert das Makro bei der Auswahl der Zellen, anstatt beim Doppelklick.


Praktische Beispiele

Hier sind einige praktische Anwendungsfälle für die Verwendung von Doppelklicks in Excel:

  • Dateneingabe vereinfachen: Du kannst das Doppelklick-Event verwenden, um Formulare oder Eingabemasken zu öffnen.
  • Datenanalyse: Mit einem Doppelklick auf eine Zelle könnte das Makro Daten analysieren und die Ergebnisse in einem neuen Blatt darstellen.

Tipps für Profis

  • Visuelles Feedback: Um dem Benutzer visuelles Feedback zu geben, kannst du die Zelle vor dem Start des Makros formatieren, zum Beispiel die Hintergrundfarbe ändern:

    Target.Interior.Color = RGB(255, 255, 0) ' Gelb
  • Debugging: Nutze Debug.Print in deinem Makro, um wichtige Informationen in das sofortige Fenster zu schreiben, während das Makro läuft.

  • VBA starten: Wenn du das Makro über das Menü oder eine Schaltfläche starten möchtest, denke daran, entsprechende Call-Befehle zu implementieren.


FAQ: Häufige Fragen

1. Frage
Wie kann ich den Doppelklick in einer anderen Zelle aktivieren?
Antwort: Ändere den Bereich in der Range("A1:A10")-Anweisung entsprechend der Zelle, die du verwenden möchtest.

2. Frage
Kann ich mehrere Makros durch Doppelklick starten?
Antwort: Ja, du kannst mehrere Bedingungen im Doppelklick-Event definieren und unterschiedliche Makros aufrufen, je nachdem, welche Zelle angeklickt wurde.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige