Hallo,
Wie im Titel schon erwähnt möchte ich in einem Dokument Werte (sind variabel 1 oder 0) per mausklick automatisch auf 0 reseten, zur Veranschaulichung habe ich mal ein kleines Ods gemacht wie das derzeit ca aussieht
Veranschaulichung.ods (14.4 KB)
Hoffentlich könnt ihr mir damit helfen
LG
Hallo
Hier zwei Beispiele in Python, die erste arbeitet auf x (für x > 1) einspaltigen Bereichen jeder für sich in einer Mehrfach-selektion.
Die zweite wie in deinen Beispiel gezeigt auf den fix codierten Bereichen in den Spalten B, D und F von jeweils Zeile 12 bis Zeile 41
def reset2zero_multi_selection(*_):
doc = XSCRIPTCONTEXT.getDocument()
multi_selection = doc.CurrentSelection
for single_selection in multi_selection:
data = single_selection.DataArray
single_selection.DataArray = [[0] * len( data[0] ) ] * len(data)
def reset2zero_fix_ranges(*_):
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.CurrentController.ActiveSheet
for col in "BDF": #Spalten B, D, und F
srange = sheet[f"{col}12:{col}41"] #von Zeile 12 bis Zeile 41
data = srange.DataArray
srange.DataArray = [[0] * len( data[0] ) ] * len(data)
Also das mit dem python script hat gut geklappt, hat allerdings etwas gedauert bis ich es geschafft habe es direkt in die calc datei zu speichern ( liegt auf einem usb und wird auf verschiedenen Geräten genutzt) damit es überall funktioniert.
Danke.
Mit der Extension apso.oxt von hier ist das kaum schwieriger wie das Importieren eines Basic-scripts per copy & paste. Allerdings schadets auch nicht, das mal per Hand gemacht zu haben.
Hallo @Anon135789542 , ich würde deine Anfrage wie folgt lösen. Du hast ja bereits deine beiden Formatvorlagen für “Erledigt” und “nicht erledigt” angelegt. Lösche alle bedingten Formatierungen. Mit der F11 Taste kannst du die Vorlagen in der Seitenleiste einblenden. Jetzt kannst du die aktuelle Zelle per Doppelklick auf die Formatvorlage umstellen. Du kannst auch eine der beiden Formatvorlagen mit dem Gießkannenmodus auf die Zelle anwenden auf die du dann klickst. Um schnell zurückzusetzen kannst du entweder die Bereiche markieren und dann von Hand auf die Vorlage klicken oder du kannst mit den Suchen und Ersetzen Dialog (suche nach Zellvorlagen) eine der beiden Vorlagen auf die andere umstellen.
Falls du deinen Eintrag in der Zelle benötigst z. B. um ihn in einer anderen Zelle auszuwerten, gibt es hierfür auch eine Lösung. Schreibe in die Zellen die Funktion =ZELLE("protect")
und ändere deine Zellenvorlage “nicht erledigt” im Reiter Schutz auf nicht gesperrt. Damit erhältst du das Ergebnis 1 für eine gesperrte Zelle also “erledigt” und eine 0 für eine nicht gesperrte Zelle also “nicht erledigt”.
Beim erproben habe ich festgestellt, das die Berechnung der ZELLE Funktion leider nicht ad-hoc aktualisiert wird, bis du mit Strg + Umschalt + F9 eine unbedingte Neuberechnung von Hand anstößt. Falls das nervt, gibt es auch hierfür eine Lösung.
Du müsstest dann nicht die Funktion ZELLE() direkt in die Zelle schreiben sondern einen Namen referenzieren den du als benannten Bereich (Namen) vergeben hast. Einfach einen Namen deiner Wahl vergeben (z. B. “anon”) und beim Formelausdruck ZELLE("protect")+(0*JETZT())
schreiben. Dann in der Zelle =anon schreiben. Dann funktioniert die Berechnung des Zelleninhaltes auch ohne manuelles Neuberechnen.
Ich hoffe mein Lösungsvorschlag bringt dich weiter, Viel Erfolg.
Und hier noch mein Beispieldokument:
Veranschaulichung.ods (23,6 KB)
Hallo @dscheikey ,
ich finde deine Lösung ohne Makro sehr charmant. Zufällig habe ich gerade im englischen Forum, passend dazu, gelesen, dass man in Libre Office inzwischen Formatvorlagen, auch Zellformatvorlagen in benutzerdefinierte Symbolleisten aber auch in benutzerdefinierte Kontextmenüs (Rechtsklick) einbauen kann. Diese lassen sich sogar innerhalb eines Dokumentes speichern. Dies habe ich beides mit deinen Vorlagen Erledigt und Nicht erledigt getan. Wenn man in der Symbolleiste noch das Symbol austauscht, erscheint dieses sogar im Kontextmenü.
Ich denke, die Kombination aus benutzerdefinierter Zellvorlage und Kontextmenüeintrag ist extrem benutzerfeundlich, schnell und einfach zu bedienen. So kann man beispielsweise eine der drei Spalten im Beispiel markieren, Rechtsklick → nicht erledigt, fertig. Deine, um diese Features erweiterte, Datei hänge ich an:
Veranschaulichung_F3K.ods (29.2 KB)
Gruß R