Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Benutzer dürfen Bereiche bearbeiten
#1
Hallo zusammen, 

in meiner Excel wird nach dem ausfüllen einer Zeile der Inhalt in die darunterlegende Zeile per Skript kopiert und die Zeile geleert. 

Über die Benutzerrechte ist der Bereich A9:D9 zur Bearbeitung freigegeben. 

Sobald die oben genannte Prozedur mit dem kopieren der Zeile usw. erfolgt ist, wird die Berechtigung erweitert auf die Zellen A10:D10. 

Wie kann ich dem Problem Abhilfe schaffen?


Danke für die Hilfe vorweg.
Antworten Top
#2
Hi

Kopieren -> Einfügen bietet unterschiedliche Varianten. Evtl. mal nur die Werte einfügen. Wenn nötig dann Zellformate extra behandeln.
Antworten Top
#3
Anbei der Ausschnitt aus VBA 

Kann ich dort ggf. den Code erweitern, dass die Zellen nur einmalig zu beschreiben sind, bzw. Schreibrechte nicht durch das kopieren erweitert werden?

If Target.Address = "$D$9" Then
If Target.Value <> "" Then
Worksheets("LC").Unprotect Password:="I"
Application.EnableEvents = False
Range("A10:PY10").Insert shift:=xlShiftDown
Range("A9:PY09").Copy Range("A10:PY10")
Range("A9:PY09").ClearContents
Worksheets("LC").Protect Password:="I"
Range("A9").Value = Range("A9")
Application.EnableEvents = True
End If
Antworten Top
#4
Hi,

ersetze die Zeilen
Code:
Range("A10:PY10").Insert shift:=xlShiftDown
Range("A9:PY09").Copy Range("A10:PY10")
mit
Code:
Range("A10:PY10").Insert shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
Range("A10:PY10") = Range("A9:PY09")
oder mit
Code:
Range("A10:PY10").Insert xlShiftDown, xlFormatFromRightOrBelow
Range("A9:PY09").Copy
Range("A10:PY10").PasteSpecial xlPasteValues

Außerdem wäre es sinnvoll statt Worksheets("LC") einfach nur Me zu verwenden. Dann kannst du das Blatt jederzeit umbenennen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
Vielen Dank!

Es funktioniert  19

Eine gute Restwoche
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste