Workaround für "Bug 45385 - EDITING: Copy Paste formula to different document adds souce document filename to references"

Hallo,

weiß jemand, wie man das Problem aus dem Bug
<https://bugs.freedesktop.org/show_bug.cgi?id=45385> umgehen kann?

Die Situation (bis 3.4):
Ich habe Unmengen von Tabellenkalkulationen, die alle nach einem einheitlichen Schema aufgebaut sind. In der Basisdaten-Tabelle stehen alle Daten, die in anderen Tabellen aufbereitet, weiterverarbeitet, sonstwas werden. Um den Bezug zur Basisdaten-Tabelle sicher zu stellen, sind die Bezüge aus den Verarbeitungstabellen dahin mit absolutem Tabellen-Bezug.

Habe ich einen guten Einfall für eine weitere Auswertung, kopiere ich die Zellen aus der Verarbeitungstabelle in ein Verarbeitungstabelle meines Musterdokuments oder in die zu einem anderen Projekt, wo ich das Verfahren gebrauchen kann. Aufgrund der Einheitlichen Struktur der Basisdaten-Tabellen funktioniert der Kopierte Bereich auf Anhieb, sofern Daten in der Basisdaten-Tabelle des Dokuments

Das Problem:
Seit 3.5 setzt LibO beim kopieren einen Dokumentbezug zum Quelldokument, so dass das in der Ziel-Zelle dann so aussieht:
=WENN('Unbenannt1'#$Tabelle1.E1<>"";'Unbenannt1'#$Tabelle1.E1;$A$2)
("Unbenannt1.ods" ist das Quelldokument)

und nicht mehr so
=IF($Sheet1.E1<>"";$Sheet1.E1;$A$2)

Lösungsansatz:
Gut, ich könnte mit suchen und Ersetzen den String "'Unbenannt1'#" eliminieren, aber so richtig das Gelbe ist das nicht. Weiß jemand einen systematischeren Ansatz?

War sonst noch was?
Außerdem wird mir beim Kopieren der Zeile 12 in Tabelle "Lieferschein" des Beispeildokuments aus dem Bug in Zeile 12 Tabelle2 eines neuen Dokuments der Letzte Link zerschossen "#REF!"; Beim Kopieren in Tabelle3 passiert das nicht. Bug oder habe ich etwas nich verstanden?

Weiß jemand Rat?

Danke schon mal

Rainer

Hallo,

weiß jemand, wie man das Problem aus dem Bug
<https://bugs.freedesktop.org/show_bug.cgi?id=45385>

Hab hier mal meinen Senf dazugegeben. M.E. ist das umwandeln der Formel absolut-Tabelle zu absolut-Dokument nur ein ("fauler") Work-a-round für ein (vermutlich tiefergehendes) Problem. Als vorübergehende Zwischenlösung evtl. akzeptabel, aber nicht für immer. Mal sehen was Markus dazu sagt, aber ich würde auf REOPEN plädieren.

Das Problem:
Seit 3.5 setzt LibO beim kopieren einen Dokumentbezug zum Quelldokument,
so dass das in der Ziel-Zelle dann so aussieht:
=WENN('Unbenannt1'#$Tabelle1.E1<>"";'Unbenannt1'#$Tabelle1.E1;$A$2)
("Unbenannt1.ods" ist das Quelldokument)

und nicht mehr so
=IF($Sheet1.E1<>"";$Sheet1.E1;$A$2)

Lösungsansatz:
Gut, ich könnte mit suchen und Ersetzen den String "'Unbenannt1'#"
eliminieren, aber so richtig das Gelbe ist das nicht. Weiß jemand einen
systematischeren Ansatz?

Evtl. mit benannte Bereiche / Datenbankbereiche referenzieren, was passiert da beim kopieren?
Oder die absolute Tabellen-Referenzierung vor dem Kopieren entfernen (Shift+F4), klappt aber natürlich nicht immer (s.u.)

War sonst noch was?
Außerdem wird mir beim Kopieren der Zeile 12 in Tabelle "Lieferschein"
des Beispeildokuments aus dem Bug in Zeile 12 Tabelle2 eines neuen
Dokuments der Letzte Link zerschossen "#REF!"; Beim Kopieren in Tabelle3
passiert das nicht. Bug oder habe ich etwas nich verstanden?

In der letzten Formel im letzten Teil ist kein absoluter Tabellen Bezug, d.h. da wird auf die Tabelle "zwei weiter vorne" verwiesen. Wenn es dieses nicht gibt (von Tabelle2 wird auf "Tabelle0" verwiesen) dann gibt's nen REF Fehler, sonst klappt es.

Weiß jemand Rat?

Danke schon mal
Rainer

HTH
Tom

Tom Hart schrieb:

In der letzten Formel im letzten Teil ist kein absoluter Tabellen Bezug,

Hallo,

manchmal sehe ich aber auch den Wald vor lauter Bäumen nicht, danke für den Hinweis und die Ideen, ich werde da mal experimentieren.

Beim Bug muss ich noch etwas über eine konstruktive Komponente nachdenken, wenn ich wüsste, was der Anlass für die Änderungen war, wär's leichter.

Grüße

Rainer

Hallo Rainer,

Beim Bug muss ich noch etwas über eine konstruktive Komponente
nachdenken, wenn ich wüsste, was der Anlass für die Änderungen war,
wär's leichter.

hast du mal sein Beispiel aus Kommentar 3 in einer älteren LO/OOo Version ausprobiert?

Meine Vermutung:
Das Problem ist dass in den Formeln zwar Namen für die Tabellenblätter stehen (Tabelle1, Tabelle2, etc.), diese intern aber eigtl. per ID referenziert werden:
    Name | ID
Tabelle1 | 0
Tabelle2 | 1
Tabelle3 | 2

D.h. =$Tabelle1.A1 referenziert nicht auf das Tabellenblatt mit dem Namen Tabelle1 (wie man eigtl. denken würde), sondern auf das erste Tabellenblatt im Dokument (mit der ID 0).

Kopiert man diese Formel nun in ein anderes Dokument, z.Bsp so eins:
    Name | ID
Tabelle3 | 0
Tabelle1 | 1
Tabelle2 | 2

So wird die Formel =$Tabelle1.A1 zu =$Tabelle3.A1, das ist unerwartet.

Die Lösung wäre hier eigtl. den Namen bzw. den Namensbezug beim kopieren zu erhalten. Stattdessen hat man es sich wohl etwas einfach gemacht in dem man einfach eine absolute Dokument Referenz erstellt. :-/

Grüße
Rainer

Grüße
Tom