Calc - verknüpfung zu externer Datei

Ich benutze Macbook mit OS 12.0.1 Monterey und LO 7.2.2.2.

Ich versuche den (veränderlichen) Wert einer benannten Zelle [SaldoTest2021] von einer Datei (Beispiel Test2021) in einer anderen Datei Beispiel Test2022) zu verknüpfen. Vorgehensweise:
a) über Menü - TABELLE - VERKN. ZU EXT. DATEN = funktioniert nicht; benannter Bereich wird nicht erkannt/angezeigt (siehe Test202_1.png)
b) über Eingabezeile und click auf Ref.Zelle [‘file:///[Pfad]/Test2021.ods’#$Test2021.E12] = Ergebnis wird angezeigt. (s. Test2022_2)
wenn ich die Zellref. ersetze durch den Namen wird ebenfalls das Ergebnis angezeigt (s. Test2022_3).
soweit so gut.

wenn ich den Wert in Test2021 verändere, wird der Wert in Test2022 NICHT aktualisiert (beide Dateien geöffnet), m.E. ein bug. Aktualisierung über das Akt.Icon ist auch nicht möglich (ausgegraut; warum ?).
Aktualiesierung über Eingabezeile (anklicken + Enter) hilft auch nicht. (Test2022_4)

Datei speichern, schließen und wieder öffnen führt zu unterschiedlichen Ergebnissen -
der Bezug mit Namen zeigt einen falschen Wert, der Bezug mit Zellref. wird korrekt angezeigt.
Zusätzlich die Fehlermeldung “Die Verknüpfung konnte nicht aktualisiert werden.”
Den Bezug mit Zellref. kann ich nicht benutzen, weil die Zelladresse variabel ist.

Bei den Originaldateien (ursprünglich .xlxs, gespeichert als .ods) ist das Resultat noch schlimmer: die Verknüpfung wird gelöscht und durch die Meldung “Die Verknüpfung konnte nicht aktualisiert werden.” ersetzt. Dadurch enthalten natürlich auch alle Folgezellen die Fehlermeldung #Wert!

Ich habe das “Problem” auch in Excel probiert - keine Probleme, Verknüpfung wird automatisch sofort aktualisiert.
Ich habe bei der Gelegenheit auch festgestellt, dass Excel wesentlich schneller arbeitet/reagiert, besonders bei der Operation DATEI-SPEICHERN UNTER bzw. ÖFFNEN reagiert (bei mir) L.O. extrem träge.
Kennt jemand eine Lösung für die Verknüpfung ?






Hallo rhodostelle,

ich habe mal ein bisschen mit den externen Verknüpfungen experimentiert und kann zumindest etwas Licht ins Dunkle bringen.

1.) Wenn du über Tabelle - Verknüpfung über externe Daten deine Datei auswählst, wird nicht ad hoc der Benannte Bereich angezeigt. Du musst bitte nach der Auswahl noch die Enter Taste drücken. Dann wird dein Bereich angezeigt. Wenn du hier keinen Aktualisierungsintervall auswählst wird die Zelle nur nach dem manuellen Aktualisieren verändert.
2.) Die unter 1 erstellte externe Verknüpfung lässt sich nur über den Aktualisierungsintervall oder manuell über Bearbeiten - Verknüpfung zu externen Daten - Aktualisieren aktualisieren. Die Verknüpfung greift dann auf die abgespeicherte Datei zurück. Wenn du deine Datenbasis Datei nicht abspeicherst um den Effekt zu sehen, wirst du keine Änderung sehen können.
3.) Die mit ='file:///C:/Users/xyz/Dokumente/Datenquelle.ods'#$Tabelle1.A1 verknüpfte Zelle funktioniert auch ohne Abspeichern der Datenquelle. Für eine Aktualisierung musst du entweder wie bei 2. die Verknüpfung aktualisieren, oder mit Daten - Berechnen - Unbedingte Neuberechnung bzw. mit der Tastenkombination Strg. + Hochstellen + F9 die Aktualisierung auslösen.
4.) Den Fehler mit der mit dem Namen über ='file:///C:/Users/xyz/Dokumente/Datenquelle.ods'#Datq verknüpften benannten Bereich kann ich nachvollziehen. Ist vermutlich ein Bug. Wenn ich nach dem erneuten Laden der Datei meine Verknüpfung die Zelle bearbeite und z.B. das q lösche gleich wieder rein schreibe und Enter drücke funktioniert die Verknüpfung wieder. Aber das sollte dir nicht weiter helfen.

Ich hoffe du bekommst deine Verknüpfung jetzt in den Griff. Ich habe übrigens am Windows PC getestet. Ich hoffe da gibt es keine Überraschungen.

mfg

Jürgen

Bereichsnamen sind bei file:/// links nur innerhalb desselben Dokumentes gültig.
Es gibt außerdem noch:
2. DDE Links. Die funktionieren auch mit Namen im verlinkten Dokument (Writer und Calc)
3. Link auf externe Daten. Eigentlich für HTML, funktioniert aber auch mit Namen in Dokumenten (Writer und Calc)
4. Einfügen eines verknüpften Tabellenblattes importiert nicht die externen Namen.
5. Schließlich kann man noch Tabellen über ein Datenbankdokument einbinden, was namenstechnisch ganz andere Perspektiven eröffnet aber zunächst nur den Zugriff über benannte Datenbankbereiche und Blattnamen ermöglicht.

hallo Jürgen,
danke für die schnelle Antwort und Deine Tips.

  1. Angabe des Bereichs hat funktioniert nach der Enter-Taste. Das Zeitintervall für die Aktualisierung habe ich auch gesehen (war mir vorher nicht aufgefallen - eben 30 Jahre Excel…).

  2. Das Problem wird aber nicht gelöst - in meiner Orig-Dat wird anstelle eines Ergebnisses sofort die Fehlermeldung “Verkn. konnte nicht akt. werden”.
    In der Testdatei wird anstelle des Wertes in der Eingabezeile die Formel übernommen und Fehler:522 angezeigt.

Könnte ein Problem auftreten, weil die Original-Dat. ursprünglich mit Excel erstellt wurden ? Ich habe aber beide Dateien in LO konvertiert. Demnach sollten dadurch keine Probleme auftauchen.

Da die Dateien sehr sensible Daten beinhalten, werde ich damit erstmal einen großen Bogen um LO machen.

Danke nochmal für Deine Unterstützung.

LG Georg

Hallo Villeroy
danke für prompte Antwort.
gibt es einen Grund, warum ein Bezug mit Bereichsnamen anders behandelt wird als eine Zelladresse ?
Wie calc die Verknüpfung definiert, wenn ich über TABELLE-VERKN…den Bezug eingebe, kann cich nicht feststellen, da in der Eingabezelle die Formel und nicht der Wert übernommen wird und der “Fehler:522” angezeigt wird.

Link auf externe Daten habe ich auch versucht (EINFÜGEN-HYPERLINK-DOKUMENT-Bereichsnamen),hat aber auch nicht funktioniert. calc hat nur den linkt-text eingefügt.
mit “=” vor dem Link kam eine Fehlermeldung wegen falscher Syntax.

DDE-Funktion habe ich auch versucht, wobei ich nicht sicher bin, ob die Syntax korrekt war. Ich habe das Beispiel aus der Hilfe für DDE genommen, welches aber für Windows gilt. Bei Mac gibt es kein c:…
Ich habe alle Varianten des Pfades probiert, bekam aber nur den Fehler “#NV”.

Danke für Deine Unterstützung.
LG

Der Name ist nur im Quelldokument gespeichert. Er ist dem Zieldokument unbekannt. Am besten man verzichtet komplett auf diese Verknüpfungen. Sie sind äußerst riskant. Es ist nur eine Frage der Zeit bis sich irgendein Bezug blind auf die falschen Zellen bezieht nachdem im Quelldokument irgendwas geändert wurde, was dann im Zieldokument nicht berücksichtigt wird.
Binde alle Daten in ein und dasselbe Dokument ein - oder noch viel besser: Speicher alle Rohdaten in einer Datenbank, die von allen Dokumenten (Writer und Calc) und je nach Datenbank auch simultan von mehreren Computern abgerufen werden können.

Vielen Dank für die Antwort. Inhaltlich kann ich aber nicht zustimmen,
Ich habe die letzten 20 Jahre mit solchen Verknüpfungen in Excel gearbeitet ohne ein einziges Problem. Jedes spreadsheet Programm sollte das beherrschen.
Wie soll ich denn die Daten in einer DB speichern, wenn sich Wert der Zelle (Quelldatei) fast täglich ändert und dazu häufig auch noch die Zelladresse.
Da diese Funktion - Verknüpfung mit sofortiger Aktualisierung - für mich eminent wichtig ist, bleibt als Lösung eben nur weiterhin Excel zu benutzen, auch wenn ich die Menübänder als Rückschritt betrachte.
LG

Eine Datenbank hat keinerlei Zelladressen, und sich ändernde Werte werden meist angehängt, so dass Du zu jeder Zeit die Werte verschiedener Zeitpunkte vergleichen oder halt nur die aktuellen Werte heranziehen kannst. Millionen Zeilen sind keine Hürde. Jede professionelle Lösung für Buchhaltung etc. beruht auf einer Datenbank. Tabellenkalkulationen dienen lediglich zum Datenexport, so dass man damit hypothetische Prognosen und Szenarien auf Basis realer Daten durchspielen kann. Profis speichern niemals Daten in einer Tabellenkalkulation.
Und Excel ist eben Excel und hier eigentlich kein Thema. EIne Frage: Wenn Du in Excel in der Quelldatei einen neuen Datensatz, also eine Zeile, einfügst, bekommt dann die Zieldatei die Änderung mit? Also verändert sich in der Zieldatei eine Formel wie =SUMME(A1:A99) zu =SUMME(A1:A100)?
Genau das passiert jedenfalls in Calc nur innerhalb derselben Datei, außer Du verwendest eine Datenbankverknüpfung, wo die Menge der Datensätze immer klar definiert ist.

Ich wüsste nicht, wie ich meine beiden xl-dateien in einer oder zwei db abbilden könnte. ist aber auch ewig her, dass mit ms access gearbeitet habe,
bei den dateien handelt es sich um meine “finanzdateien” inkl. planung fürs nächste Jahr, die täglich benutzt und geändert werden, d.h. ständige Neuberechnungen horizontal und vertikal und eben einer Summe (Saldo), die per Verknüpfung in die nächste (Jahres-)Datei übertragen wird.
Ja, in Excel ändert sich die Formel d.h. die Bezüge beim Einfügen oder Löschen von Zellen/Zeilen/Spalten.
Die Verknüpfung in der Zieldatei wird automatisch und ohne Verzögerung aktualisiert.
Wenn die Zelle in der Quelldatei benannt ist, wandert der “Name” in der Datei mit, egal ob Zellen/Zeilen/Spalten eingefügt oder gelöscht werden oder die Zelle verschoben wird.
Schade, dass calc das nicht beherrscht.
Nochmals Danke für Unterstützung.
Da es sich m.E. um einen bug handelt - kann ich das irgendwo melden, damit evtl eine Lösung für das Problem gesucht wird ? Ich kann leider programmtechnisch keinen Beitrag leisten.

Dann verwende weiterhin Excel. Calc kann das nicht. Nein, es ist kein Bug. Es liegt an der Art und Weise wie das implementiert ist. file:/// links liegen als verborgene Datenkopie der Quelldatei in der Zieldatei. Sie funktionieren sogar wenn die Quelldatei überhaupt nicht vorhanden ist solange man die Verknüpfung nicht aktualisiert.
Excel muss wohl die Quelldatei mitladen. Anders geht das nicht. Du hast mit Calc den gleichen Effekt wenn Du DDE-Links mit Bereichsnamen verwendest. Die referenzierte Datei wird unsichtbar mitgeladen, und der Verweis auf “Mein_benannter_Bereich” wird stets aus dem geladenen Quelldokument ausgelesen. Aber dann kann man auch gleich alles in eine Datei packen. Ich finde es nur noch absurd, was heutzutage alles mit Excel&Co angestellt wird.

wenn ich bei Eingabe einer Formel über das Menü nur eine Fehlermeldung bekomme, ist das für mich eindeutig ein bug.
wie lautet denn die syntax für einen dde-link beim mac ? Ich hab das versucht, wie in der Hilfe-Datei angegeben (abgewandelt für mac), bekomme aber nur die Fehlermeldung #NV.
warum der Wert nicht verfügbar sein soll, bleibt wohl das Geheimnis von calc.

Ich muss gestehen, ich finde es eher phantastisch, was excel alles kann und was man mit excel machen kann. würde mir wünschen, dass calc auch dahin kommt, zumindest bei der verarbeitung von formeln. die syntax für eine externe Verknüpfung ist bei Excel zB. sehr einfach: "=@Quelldatei.xlsx!Name [oder die Zelladresse].

Wie soll irgendjemand darauf eine Antwort geben wenn Du nicht einmal die DDE Formel postest?

in jeder hilfedatei zu jedem programm ist die syntax wo erforderlich als beispiel mit platzhaltern angegeben.
das beispiel in der LO-hilfe lautet
quote =DDE("soffice";"c:\Office\Dokument\Daten1.ods";"Tabelle1.A1") unquote.
wie erwähnt habe ich das auf mac umgewandelt
=DDE("soffice";"macintosh hd\benutzer\folder\datei1.ods";"Tabelle1.benannterbereich").

ich betrachte die fehler in calc als bug und werde diesen melden. wenn die programmierer meinen, das alles korrekt ist, muss ich mich eben dauerhaft von LO verabschieden. Momentan ist Excel und bleibt es wohl auch das non-plus-ultra bei spreadsheets.

für mich ist das thema erledigt.

Benannte Bereiche sind ja im Dokument global daher würde ich mal probieren:

=DDE("soffice";"macintosh hd\benutzer\folder\datei1.ods";"benannterbereich")

@rhodostelle : Du wolltest dich doch umgehend im deutschen Libre-office-forum melden… :sleeping:

  1. Ich bin kein Entwickler. Ich bin Anwender so wie Du, aber seit 20 Jahren (seit OpenOffice.org 1).
  2. Niemand hindert Dich daran 2, 3, viele Office suites am Start zu haben. Der technische Fußabdruck von LibreOffice ist wohl eher klein im Vergleich zu MS Office. Es ist halt ein viel kleineres Projekt.
  3. Was das DDE-Problem betrifft, mach mal folgendes:
    Öffne Quell- und Zieldatei nebeneinander.
    Markiere den Quellbereich und ziehe ihn hinüber ins Zieldokument.
    Beim Loslassen Strg+Umschalt drücken, um eine DDE-Verknüpfung zu erzeugen, und dann siehst auch die korrekte Formel-Syntax.

Lösung gefunden. Danke für den Tip mit drag and drop.
Dabei wurde der Bezug mit Zellref. erzeugt als Matrix-Formel. Das ‘fehlende Glied’ hab ich dann aus dem LO-Forum bekommen - bei Benutung von “benannter Bereich” wird die Tabelle nicht genannt.
Die Formel funktioniert auch ohne “Matrix”.

Die Syntax für Mac lautet
quote
=DDE(“soffice”;"/folder/[subfolder/]datei1.ods";“benannterbereich”)
unquote.

Danke allen für die Unterstützung

Hurra. Und dann noch dieser hier:
Menü:Tabelle>Verknüpfung zu externen Daten… Datei auswählen, dann erscheinen die Bereichsnamen, Namen auswählen, OK.
Diese Verknüfpung nach Bereichsnamen wächst ebenfalls mit eingefügten Zellen und schrumpft mit gelöschten Zellen.

Ich bevorzuge ganz klar Verknüpfungen über die Datenbankkomponente, aber da bin ich wohl der einzige.

Ich hab die "Menü-Variante nochmal probiert: funktioniert nicht, zumindest nicht auf Mac.
In der Zieldatei wird nicht der Name übernommen sondern nur die Formel. Der Bezug bzw Formel ändert sich nicht, wenn in der Quelldatei Änderungen bei Zeilen/Spalten vorliegen.

Im übrigen war gestern wohl etwas zu euphorisch. Habe heute meine Orig.Dateien geöffnet und eine Fehlemeldung bekommen - Verknüpfung in der Zieldatei kann nicht aktualisiert werden, wenn die Quelldatei nicht vorher geöffnet wurde.
Nach Öffbung der Quelldatei und Aktivierung / Bestätigung der Zelle in der Zieldatei wurde der Fehlerwert #NV angezeigt.
Schade. Hatte gedacht, dass das Problem gelöst wäre. Vielleicht findet sich doch noch eine “einfache” Lösung des Problems, wenn ich Zeit habe , das Problem als bug zu melden.

Ja, die Mac-Versionen werden nicht ausreichend getestet weil sich nicht genug Mac-User beteiligen.
Was versuchst Du da eigentlich zu verknüpfen? Eine Liste mit Daten oder ein Kalkulationsmodell?

Verstehe das Problem nicht. Der Menübefehl Tabelle → “Verknüpfung zu externen Daten…” fügt eine sichtbare, verknüpfte Kopie des benannten Bereiches in das Ziel ein. Formeln des Quellbereiches werden auch als Formeln importiert.
Wenn der benannte Bereich in der Quelldatei erweitert wird (Zellen einfügen), dann erweitert sich auch der importierte Bereich in der Zieldatei.
Source.ods (13.9 KB)
Target.ods (14.3 KB)