Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Per Doppelklick kopierten Zellinhalt einfügen

Per Doppelklick kopierten Zellinhalt einfügen
04.09.2017 10:59:40
Micha
Hallo,
habe folgendes Problem: Das untenstehende Makro funktioniert nur einwandfrei, wenn ich keinen Blattschutz aktiviert habe. Bei aktiven Blattschutz kann ich per Doppelklick nichts mehr einfügen, obwohl die entsprechenden Zellen nicht gesperrt sind.
Kann mir jemand bitte helfen?
MfG
Micha
Ps. Ich bin Anfänger bis Laie in Bezug auf VBA. Daher bitte ich den Lösungsorschlag so einfach wie möglich zu formuliernen. (Damit auch ich diesen verstehe) Danke im Voraus. :-)
Am Besten mit einem Beispiel.
'Beim Einfügen der kopierten Zelle(n) per Doppelklick,
' wird nur der Wert und die Formatierung übernommen
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
Cancel = True
Target.PasteSpecial xlPasteValuesAndNumberFormats
If Err.Number = 1004 Then
On Error GoTo 0
Exit Sub
End If
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Doppelklick kopierten Zellinhalt einfügen
04.09.2017 11:03:44
ChrisL
Hi Micha
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
ActiveSheet.Unprotect "PW"
Cancel = True
Target.PasteSpecial xlPasteValuesAndNumberFormats
ActiveSheet.Protect "PW"
End Sub
cu
Chris
AW: Per Doppelklick kopierten Zellinhalt einfügen
04.09.2017 16:32:08
Micha
Hallo Chris,
folgendes Problem: Nach Eingabe deines Codes erfolgt automatisch ein Blattschutz, welchen ich auch nach Eingabe meines Passwortes nicht mehr entsperren kann. Es erfolgt eine Meldung, dass dieses Passwort nicht erkannt wird. Daraufhin habe ich deinen Code wieder gelöscht, und meinen wieder integriert. Aber die Tabelle lässt sich nicht wieder "entsperren". Außerdem hat das Einfügen der Kopie per Doppelklick nur einmal funktioniert. Kannst du mir helfen? Möchte das auch im Blattschutzmodus der Doppelklick funktioniert.
Gruß Micha
Mein Ursprungscode
'Beim Einfügen der kopierten Zelle(n) per Doppelklick,
' wird nur der Wert und die Formatierung übernommen
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
Cancel = True
Target.PasteSpecial xlPasteValuesAndNumberFormats
If Err.Number = 1004 Then
On Error GoTo 0
Exit Sub
End If
End Sub
Der jetzige Code
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
ActiveSheet.Unprotect "PW" 

Anzeige
AW: Per Doppelklick kopierten Zellinhalt einfügen
04.09.2017 16:44:09
ChrisL
Hi Micha
Ja, "PW" (gross geschrieben) habe ich als Platzhalter für das Passwort eingesetzt.
Im Prinzip einfach am Anfang vom Code das Passwort raus nehmen und am Ende wieder setzen. Was ich morgen mal testen müsste, ob evtl. Cancel=True vorher passieren muss.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
Cancel = True
ActiveSheet.Unprotect "PW"
Target.PasteSpecial xlPasteValuesAndNumberFormats
ActiveSheet.Protect "PW"
End Sub
Der Sinn von folgender Anweisung hat sich mir nicht erschlossen (weil eingangs schon die Anweisung On Error Resume Next steht), darum habe ich es gelöscht.
If Err.Number = 1004 Then
On Error GoTo 0
Exit Sub
End If

cu
Chris
Anzeige
AW: Per Doppelklick kopierten Zellinhalt einfügen
04.09.2017 16:56:17
Micha
Hallo Chris, :-)
vielen Dank für deine schnelle Reaktion. Wollte gerade schreiben, dass ich mich bei der Passworteingabe nur vertippt habe. Da kam schon deine Antwort. Also warte ich bis morgen ab. Hoffe du kannst mir helfen.
Gruß Micha
Murks - Workaround
05.09.2017 10:40:58
ChrisL
Hi Micha
Ist doch nicht ganz so einfach wie gedacht. Unprotect löst den CopyCutMode (Umrandung beim Kopieren) auf. Spontan ist mir nur eingefallen den Bereich erst in eine Hilfsdatei zu kopieren, dann Blattschutz aufheben und von der Hilfsdatei den Bereich übernehmen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim WB As Workbook, WS As Worksheet, rngT As Range
On Error Resume Next
Application.ScreenUpdating = False
Set WS = ActiveSheet
Set rngT = Target
Cancel = True
Set WB = Workbooks.Add
WB.Sheets(1).Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
WS.Unprotect "PW"
WB.Sheets(1).UsedRange.Copy
rngT.PasteSpecial xlPasteValuesAndNumberFormats
WS.Protect "PW"
WB.Close False
End Sub

cu
Chris
Anzeige
Per Doppelklick kopierten Zellinhalt einfügen
05.09.2017 12:05:04
Micha
Hallo Chris,
bitte schau Dir mal diese Datei an.
Da ist irgendwo der Wurm drinn.
Vielen Dank im Voraus.
Gruß Micha
https://www.herber.de/bbs/user/115999.xlsm
AW: Per Doppelklick kopierten Zellinhalt einfügen
05.09.2017 14:09:01
ChrisL
Hi Micha
Für die Unterscheidung mit/ohne Blattschutz...
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If ActiveSheet.ProtectContents Then
Dim WB As Workbook, WS As Worksheet, rngT As Range
Application.ScreenUpdating = False
Set WS = ActiveSheet
Set rngT = Target
Cancel = True
Set WB = Workbooks.Add
WB.Sheets(1).Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
WS.Unprotect "PW"
WB.Sheets(1).UsedRange.Copy
rngT.PasteSpecial xlPasteValuesAndNumberFormats
WS.Protect "PW"
WB.Close False
Else
Cancel = True
Target.PasteSpecial xlPasteValuesAndNumberFormats
End If
End Sub

Dass das Aufheben des Blattschutzes die Copy-Markierung (Umrandung) aufhebt und damit auch kein mehrfaches Einfügen möglich ist, kann ich bestätigen. Ein Lösung dafür habe ich allerdings nicht.
cu
Chris
Anzeige
AW: Per Doppelklick kopierten Zellinhalt einfügen
05.09.2017 16:29:38
Micha
Hi Chris,
habe den Fehler bzw. das "Handycap" gefunden. Falls Du meine Datei noch hast, schau doch bitte noch einmal rein. In Spalte C, H, und M befinden sich Dropdown´s. Wenn also das Arbeitsblatt nicht geschützt ist, kann ich die Auswahlfelder mitkopieren. Wenn der Blattschutz aktiv ist, kann in den Spalten C, H, und M nicht kopiert werden. Alle anderen nicht geschützten Spalten wie z.B. D, F, I, K....usw. können auch per Doppelklick eingefügt werden. Die Listenfelder sind deswegen gewählt, da nur bestimmte Bezeichnungen in die jeweilge Zelle eingetragen werden sollen. Gibt es eine Alternative oder können die Listenfelder so parametriert werden, dass dies auch bei "Blattschutz" mit kopiert werden?
https://www.herber.de/bbs/user/116012.xlsm
Gruß Micha
Ps. Ich weiß das ich nerve, aber es brennt mir auf den Nägeln. Also bis dann. :-))
Anzeige
AW: Per Doppelklick kopierten Zellinhalt einfügen
05.09.2017 17:22:06
ChrisL
Hi Micha
Auf das Verhalten bei Dropdown habe ich bis jetzt nicht geachtet und ich werde es mir morgen noch einmal ansehen. Aber es scheint der Murks wird langsam zur Plage und darum mal die Nachfrage nach Alternativen bzw. würde ich den Arbeitsprozess gerne besser verstehen.
Angenommen ich Doppelklicke am falschen Ort, dann muss ich eine leere Zelle kopieren, damit ich den Eintrag löschen kann? ;)
Wie bearbeitest du die Tabelle (vielleicht kopieren vom letzten Monatsplan)? Welche Bereiche bearbeitest du? Oder machst du einen Datenimport (z.B. zusammenfassen mehrerer Dateien)? Welches Ziel verfolgst du (vielleicht Nummernformat übernehmen, aber übrige Formatierungen nicht)?
cu
Chris
Anzeige
Per Doppelklick kopierten Zellinhalt einfügen
05.09.2017 21:45:08
Micha
Hall Chris,
ich weiß das es nicht leicht ist den Gedankengang des Anderen nachzuvollziehen. Ich kenn das durch meine SPS-Programmierung. Aber nun gut; vielleicht schaffen wir den Murks und die Plage die ich angerichtet habe, auszumerzen.
Es handelt sich hier um einen variablen Kalender Jan-Dez.
Er dient zur Erfassung der Trainingszeiten unserer Mannschaften.
Für jeden Monat erfolgen Einträge über ein Dropdown (Spalte „C“, „H“, „M“).
In der Spalte „D“ steht der Trainingsbeginn (z.B. 8:00Uhr).
In Spalte „F“ steht das Trainingsende (z.B. 9:00Uhr).
In der Spalte „E“ lösche ich bei Bedarf die jeweiligen Einträge.
Über den Button „Alles löschen“ werden alle gemachten Einträge gelöscht.
Nun möchte ich bei aktiven Blattschutz z.B. Zelle „C3:F3“ über Strg+C kopieren, und diese
in „C10:F10“ ober in C11:F11 oder in H8:K8 usw… über Doppelklick einfügen.
Das geht leider nicht, da bei aktiven Blattschutz die Listenfelder ( Spalte „C“, „H“ und „M“)
nicht überschrieben werden.
Alle anderen nicht gesperrten Zellen (Spalte „D“, „F“, „I“, „K ,“N“ und „P“)
können Kopien eingefügt werden. (Bei aktiven Blattschutz!)
Warum die Listenfelder? In diesen werden später noch weitere Daten wie Namen
integriert. Diese Namen sind manchmal nicht von deutschen Mitbürgern und daher schwer
auszusprechen und noch schwerer zu schreiben. Daher das Listenfeld. Einmal ausgewählt, steht dieser in der jeweiligen Zelle. Da es sich um viele Einträge handelt, und ich Tipparbeit vermeiden möchte, soll das Listenfeld kopiert und eingefügt werden.
Jetzt meine Frage:
Gibt es eine Möglichkeit die Listenfelder auch bei aktiven Blattschutz zu überschreiben
wie zuvor beschrieben?
Gruß Micha
Ps. anbei nochmal die Testdatei. Versuch es selbst einmal, und betätge E3. Danach C3 und wähle aus. Gibt in D3 die Startzeit und in F3 das Ende ein. Dann bitte Strg+C und füge es irgendwo in Spalte C oder Spalte H oder Spalt M ein.
Das Gleiche bei aktiven Blattschutz.
https://www.herber.de/bbs/user/116026.xlsm
Anzeige
AW: Per Doppelklick kopierten Zellinhalt einfügen
06.09.2017 08:28:24
ChrisL
Hi Micha
Ich kann es leider nicht nachvollziehen. Blattschutz aktiviert, manuelle Eingaben in C3/D3/F3, manuelles kopieren nach H3 resp. M3... läuft.
Die Einträge der Gültigkeitsliste müssen natürlich in der anderen Liste ebenfalls vorhanden sein.
cu
Chris
Per Doppelklick kopierten Zellinhalt einfügen
06.09.2017 08:55:10
Micha
Hallo Chris,
bitte mit Strg+C "C3:F3" kopieren. Mit aktiven Blattschutz!!!!
Danach irgendwo in Spalte C4:C33 per Doppelklick einfügen.
Das Gleiche nochmal ohne Blattschutz!!!!
Danach erkennst Du was ich meine.
Wenn Du nicht mehr möchtest, habe ich natürlich Verständniss dafür. -:)
Gruß Micha
AW: Per Doppelklick kopierten Zellinhalt einfügen
06.09.2017 10:00:30
ChrisL
Hi Micha
OK ich sehe es jetzt. Der Blattschutz muss mit speziellen Einstellungen erfolgen:
https://stackoverflow.com/questions/8650062/excel-conflict-between-validation-protection-and-worksheet-beforedoubleclick?rq=1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If ActiveSheet.ProtectContents Then
Dim WB As Workbook, WS As Worksheet, rngT As Range
Application.ScreenUpdating = False
Set WS = ActiveSheet
Set rngT = Target
Cancel = True
Set WB = Workbooks.Add
WB.Sheets(1).Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
WS.Unprotect "PW"
WB.Sheets(1).UsedRange.Copy
rngT.PasteSpecial xlPasteValuesAndNumberFormats
WS.Protect Password:="PW", UserInterfaceOnly:=True, DrawingObjects:=False
WB.Close False
Else
Cancel = True
Target.PasteSpecial xlPasteValuesAndNumberFormats
End If
End Sub

Hiermit setzt du den Blattschutz manuell:
Sub t()
ActiveSheet.Protect Password:="PW", UserInterfaceOnly:=True, DrawingObjects:=False
End Sub cu
Chris
Anzeige
Per Doppelklick kopierten Zellinhalt einfügen
06.09.2017 13:01:35
Micha
Hi Chris,
vielen Dank noch einmal.
Alles Gute und bis dahin
Gruß Micha

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige