Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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