Versehentliche Änderung von Formeln in geschützten Zellen verhindern

Eine Formel in einer geschützten Zelle kann unbeabsichtigt verändert werden, wenn in ungeschützten Bereichen, auf die sich diese Formel bezieht, Zellinhalte mit Ctrl-X und Ctrl-V verschoben werden. Wie lässt sich das verhindern?

Zur Verdeutlichung dient folgendes Szenario:
In beigefügter Calc-Tabelle werden die Stundenaufwendungen (Spalten B bis E) je Tag aufaddiert und in Spalte F in [Std:Min] ausgegeben und wochenweise aufsummiert. Die weißen Zellen sind zur Bearbeitung freigegeben, die grauen Zellen sind mit der Tabelle (ohne Passwort) geschützt. Der unbedarfte Anwender stellt nun fest, dass er seine Arbeitszeit fälschlicherweise am Dienstag statt am Mittwoch eingetragen hat und macht folgendes:
1.) Er markiert seine Arbeitszeit am Dienstag (Bereich B4:E4) und schneidet diese mit Ctrl-X aus
2.) Er fügt sie mit Ctrl-V am Mittwoch (Bereich B5:E5) wieder ein.
Damit hat er ungewollt die vermeintlich geschützte Formel in der Zelle F4 verändert und kommt zu einem falschen Wochenergebnis. Softwarestand: LibreOffice 7.1.6.2 unter aktuellem Windows 10 (64 bit)

Vielen Dank
Hans
Geschützte-Formeln-verändern.ods (11.9 KB)
Geschützte-Formeln-verändern.tiff (128.7 KB)

Hallo Hans,

du kannst dein Problem leicht lösen indem du die Indirekt-Funktion verwendest.
In deinem Fall müsste die Formel wie folgt lauten:

=SUMME(INDIREKT(“C”&ZEILE())-INDIREKT(“B”&ZEILE());INDIREKT(“E”&ZEILE())-INDIREKT(“D”&ZEILE()))

Ich habe dir das Beispieldokument abgeändert und hier wieder hochgeladen:
Geschützte-Formeln-verändern.ods (10,8 KB)

Viel Erfolg bei der weiteren Umsetzung.
mfg
Jürgen

2 Likes

Hallo Jürgen,
besten Dank für die Lösung, darauf wäre ich selbst nie gekommen. :clap:
Große Klasse. Man lernt halt nie aus.

Aua, nein, bitte, nicht.

Zu kompliziert fuer das Problem und mit INDIREKT() wird jedesmal alles berechnet, egal wo sich etwas geaendert hat.

Einen Benannten Ausdruck (Named Expression) verwenden.
Auf Zelle F3 den benannten Bereich/Ausdruck definieren (im angehaengten Beispiel mit Name DauerFormel) mit Formelausdruck:

$C3-$B3+$E3-$D3

und in den Zellen F3:F9 als =DauerFormel verwenden, die jeweiligen Zeilen-Referenzen werden relativ zur Position der Formelzelle ausgewertet.

Durch die relativen Zeilen-Referenzen werden die Referenzen bei Cut&Paste nicht angepasst. Die absoluten Spalten-Referenzen sorgen dafuer, dass gegebenenfalls Spalten eingefuegt werden koennen und die Formel ihre Gueltigkeit behaelt. (sonst wuerde sie dann auf eine eingefuegte Spalte zeigen, halt immer noch relativ).

Geschützte-Formeln-verändern-Named-Expression.ods (10.9 KB)

1 Like

Servus erAck,
Vielen Dank für deine weitere Lösung. Dass benannte Bereiche auch Formeln beinhalten dürfen, war mir bislang unbekannt. Ich werde mich damit noch genauer befassen. Vorerst habe ich allerdings bereits Jürgens Lösung implementiert und bin damit auch sehr zufrieden. Die zusätzlich erforderliche Rechenzeit der volatilen Funktion “INDIREKT(…)” fällt bei mir wohl nicht ins Gewicht.