Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelklick Fehler abfangen

Forumthread: Doppelklick Fehler abfangen

Doppelklick Fehler abfangen
21.01.2021 15:31:49
Heinz
Hallo Excelgemeinde
Mein Problem: Wenn ich auf C1 einen Doppelklick mache, funktioniert das Makro.
Aber wenn ich eine andere Zelle Doppelklicke kommt immer der Debugfehler das die Aktion nicht ausgeführt werden kann.
Könnte man den Fehler abfangen? Das das Makro abbricht ?
Danke
Sg, Heinz

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Address = "$C$1" Then Range("A1:I28").Copy
Range("A1:I28").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick Fehler abfangen
21.01.2021 15:34:50
Hajo_Zi
Hallo Heinz,
es kann nichts eingefügt werden, da nichts kopiertr wurde.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Address = "$C$1" Then
Range("A1:I28").Copy
Range("A1:I28").PasteSpecial Paste:=xlPasteValues
End if
End Sub

Anzeige
AW: Doppelklick Fehler abfangen
21.01.2021 15:45:53
Daniel
Hi
Wenn du nach Then den Code in der selben Zeile weiter schreibst, dann gehört nur diese Zeile zum IF-Block.
Alles danach wird dann wieder immer ausgeführt.
Dh. das .Copy wird nur bei Klick auf C1 ausgeführt, das pasteSpecial jedoch immer, bei jeder Zelle.
Der Fehler kommt, wenn du versucht einzufügen, ohne dass vorher was kopiert wurde.
Willst du einen IF-Block mit mehren Codezeilen, so musst du die von Hajo gezeigt, nach dem Then eine neue Zeile beginnen und den Block mit End If abschließen.
Gruß Daniel
Anzeige
AW: Doppelklick Fehler abfangen
21.01.2021 15:52:56
Werner
Hallo,
wieso überhaupt copy und paste?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Address = "$C$1" Then
Cancel = True
Range("A1:I28").Value = Range("A1:I28").Value
End If
End Sub
Gruß Werner
Anzeige
AW: Danke an Hajo, Daniel u. Werner
21.01.2021 16:09:11
Heinz
Hallo,
@ Werner
Der Code funktioniert super.Danke
@ Hajo und Daniel
Danke auch an euch für die Fachliche Auskunft.
Sg, Heinz
Gerne u. Danke für die Rückmeldung. o.w.T.
21.01.2021 16:22:22
Werner
;

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