Excel 2010 - Schutz der Formatierung

M

Grand Admiral Special
Mitglied seit
22.03.2005
Beiträge
11.094
Renomée
527
Standort
P3d VIP Lounge
Moin moin,

habe mal wieder was. Wie schütze ich die Formatierung, damit diese unveränderlich wird?

Den Zellschutz habe ich bereits gesetzt bzw die Bereiche gesperrt. Das Passwort ist hinterlegt und die Formatierung damit nicht veränderbar. Jetzt stellt sich aber heraus, dass Leute mit Vorliebe Zellen kopieren und wieder einfügen. Damit überträgt sich leider auch die Formatierung der Ursprungszelle.

Würde das Problem lösen wollen, indem ich

a) das Kopieren von Zellen verhindere
b) das Kopieren möglich sein soll, dann aber die Formatierung erhalten bleibt
 
Das geht afaik nur mit VBA Scripten weil Excel beim Schutz des Blattes nicht zwischen so "komplexen" Anforderungen unterscheidet.

Du kannst beim Blattschutz halt festlegen das gesperrte Zellen nicht ausgewählt werden dürfen und von daher kann man sie dann auch nicht kopieren. Das wäre dann wohl deine Anforderung a.

Aber b lässt sich glaube ich so nicht einfach umsetzen. Ist dann wohl auch kein Wunderding das mit nem Script zu machen, aber Scripte sind bei dir/euch ja unerwünscht wenn ich mich recht entsinne.

Vielleicht findest du ja aber auch hier beim Experten Rat:
http://www.tabellenexperte.de/schutzvorrichtungen-in-excel/

Beim Zellenschutz finden sich da auch Möglichkeiten um die Formatierung einer Zelle zu verhindern. Womöglich reicht das dann doch schon aus.

;D
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort!

Die Zelle soll halt noch editiert werden können...

Leider findet sich unter obigem Link nicht die Lösung zum Problem.

Wir sprechen hier allerdings von einer anderen/neuen Datei. Es handelt sich um einen kleineren Nutzerkreis und die Daten sind auch nicht so unter Zeitdruck zu pflegen.

Habe nun noch einmal gesucht. Im Grunde müsste man nur festlegen, dass bei Copy&Paste lediglich Werte übertragen werden.

Code:
[COLOR=#323232][FONT=Courier New]Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)[/FONT][/COLOR]Dim objData As DataObject, N_objData As New DataObject, MyData As String
On Error Resume Next
    Set objData = New DataObject
    N_objData.GetFromClipboard
    MyData = N_objData.GetText
    objData.SetText MyData
    objData.PutInClipboard
    Set objData = Nothing [COLOR=#323232][FONT=Courier New]End Sub[/FONT][/COLOR]

Korrekt?
 
Zurück
Oben Unten