openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wolfgang Jäth <jawo.ml.hams...@arcor.de>
Subject Re: Datumstempel in CALC erstellen
Date Sat, 18 Nov 2017 21:14:01 GMT
Am 18.11.2017 um 20:41 schrieb Seemann:
> Hallo AOO-Anwender!
> 
> Eigentlich wollte ich nur einen Datumstempel für neu angelegte Zeilen 
> erstellen. Aber es hat sich gezeigt, daß dies gar nicht so simple ist, 
> wie man meinen könnte; die Problematik hierbei ist, daß ich keine 
> Möglichkeit gefunden habe, einfach nur den Funktionswert (wie z. B. von 
> der HEUTE-Funktion) in eine Zelle zu schreiben, oder die in der Zelle 
> eingetrage Formel automatisch zu überschreiben.
> Mein Ziel ist es, beim anlegen einer neuen Zeile das Erstelldatum 
> automatisch zu generieren und in einer Zelle dieser Zeile zu fixieren, 
> so daß man später immer nachvollziehen kann, wann welche Zeile erstellt 
> wurde.
> Eine Lösung ohne Makros würde ich hierfür wenn möglich vorziehen.

Der Trick ist, dass du die Zelle selbst abfragen muss; und dazu musst du
"Extras => Einstellungen => Calc => Berechnen => [X] Iterationen"
einschalten, sonst bekommst du nur eine Fehlermeldung.

Dann kannst du z. B. in Zelle B1 folgendes schreiben:

|  =WENN(B1<>""; B1; WENN (A1=""; ""; JETZT()))

Sobald du nun etwas in die Zelle A1 schreibst, wird B1 aktiviert. Den
Zugriff auf eine weitere Zelle (hier A1) brauchst du, damit du den
Auslösezeitpunkt definieren kannst. Die Bedingungen fürs Auslösen kannst
du aber natürlich nach deinen Wünschen formulieren, das muss nicht
unbedingt der Vergleich auf leer sein.

Allerdings ist die Formel /so/ doch recht gefährlich, denn du kannst sie
*nie* *mehr* zurück setzen (ok, nicht /ganz/ nie mehr; du kannst immer
noch eine noch nicht ausgelöste Zelle über eine bereits ausgelöste
drüber kopieren. Aber wenn du aus Versehen irgend wann mal keine
'scharfe' Zelle mehr hast, ist Schluss mit kopieren. Dann musst du
*manuell* die Formel /neu/ in eine /neue/ Zelle *schreiben* ... :-/ ).

*Ich* verwende daher *immer* nur eine etwas entschärfte Variante:

| =WENN(A1=""; ""; WENN (B1<>""; B1; JETZT()))

Dadurch kann ich durch Löschen der Zelle A1 auch die Zelle B1 wieder
zurück setzen.

Btw., stör dich nicht daran, dass ich teilweise auf '=' verwende, und
teilweise die Bedingung umdrehe aka auf '<>' vergleiche. Ich mag es nur
einfach so, dass der "formale" Teil immer möglichst vorne steht, und der
"interessante" Teil (also die eigentliche Aktion) möglichst immer hinten
zu finden ist. Macht die Formeln IMHO einfacher zu lesen (zumindest wenn
man das konsequent anwendet).

Wolfgang
-- 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message