Clever-Excel-Forum

Normale Version: Wert aus anderer Excel-Datei verknüpfen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich benötige eigentlich nur eine Formel für ein Feld.

Hier soll aus einer Datei mit dem gleichen Namen der aktuellen Datei lediglich unter einem anderen Pfad der Wert aus einem bestimmten Feld angezeigt werden.

Also es soll bspw. in der Datei C:\Test.xlsx im Feld B2 der Inhalt des Feldes A1 aus der Datei D:\Arbeitsdateien\Test.xlsx angezeigt werden.

Den aktuellen Dateiname habe ich mit
=WECHSELN(TEIL(ZELLE("Dateiname";$A$4);FINDEN("[";ZELLE("Dateiname";$A$4))+1;FINDEN("]";ZELLE("Dateiname";$A$4))-FINDEN("[";ZELLE("Dateiname";$A$4))-1);".xlsx";".xlsm")

Und ich dachte mit
=VERKETTEN("'D:\Arbeitsdateien\[";WECHSELN(TEIL(ZELLE("Dateiname";$A$4);FINDEN("[";ZELLE("Dateiname";$A$4))+1;FINDEN("]";ZELLE("Dateiname";$A$4))-FINDEN("[";ZELLE("Dateiname";$A$4))-1);".xlsx";".xlsm");"]REGISTERNAME!$A$1")

Müsste ich auf den Wert zugreifen können .. geht nur leider nicht.

Danke!
Hallo

Und warum nicht als einfacher Zellbezug?
Code:
='D:\Arbeitsdateien\[Test.xlsx]Tabelle1'!$A$1
Als fester Bezug geht leider nicht, weil der Dateiname nicht fix ist.

Wenn die Datei C:\Test.xlsx heißt, soll auf D:\Arbeitsdateien\Test.xlsx zugegriffen werden, wenn die Datei C:\Hallo.xlsx heißt, soll aber auf D:\Arbeitsdateien\Hallo.xlsx zugegriffen werden, etc.
Innerhalb der Datei ist der Dateiname doch fix. Der ändert sich doch nicht zur Laufzeit.
Das Ganze wird aber aus einer Vorlagen-Datei erstellt und in dieser Vorlagen-Datei muss eben bereits die variable Verknüpfung vorhanden sein.
Insgesamt ist das Prozedere:

1. Neue Datei "C:\test.xlsx" wird aus der Datei "C:\Vorlage.xlsx" erstellt
2. In dieser Datei "C:\test.xlsx" sollen Daten aus der Datei "D:\Arbeitsdateien\test.xlsx" angezeigt werden

3. Neue Datei "C:\Hallo.xlsx" wird aus der Datei "C:\Vorlage.xlsx" erstellt
4. In dieser Datei "C:\Hallo.xlsx" sollen Daten aus der Datei "D:\Arbeitsdateien\Hallo.xlsx" angezeigt werden

.... etc.

Wobei der 2. und 4. Punkt eben bereits als Formel oder irgendwie anders angelegt sein soll.

Als Workaround wüsste ich aktuell nur noch die Möglichkeit mittels VBA den Inhalt aus D:\Arbeitsdateien\test.xlsx bzw. D:\Arbeitsdateien\Hallo.xlsx in die Datei C:\test.xlsx bzw. C:\Hallo.xlsx zu kopieren. Ich hatte aber die Hoffnung, das irgendwie über eine Formel oder ähnliches lösen zu können.

Danke!
Wenn man Bezugsangaben als verketteten String vorliegen hat dann lässt sich dieser mit INDIREKT() in einen Bezug umwandeln. Abgesehen davon dass INDIREKT() volatil ist ist es auch erforderlich dass die Quelldatei geöffnet ist. Anderenfalls wimmelt es von Fehlern.
@Shift-del
Wenn ich im Feld den kompletten Pfad eingebe (='C:\Arbeitsdateien\[test.xlsx]Tabelle1'!$A$1) zeigt er mir genau das an, was ich möchte, nur dieses "test.xlsx" soll eben den Namen der aktuell geöffneten Datei sein. 
Mit Indirekt funktioniert es nur, wenn die Datei offen ist, dann reicht auch test.xlsx ohne genaue Pfadangabe .. bringt mir nur leider nichts.

Es muss doch irgendwie möglich sein ^^
Du könntest die gewünschte (geschlossene) Datei mittels VBA von individuell.xlsx über den Dummy Quelle.xlsx kopieren.

Dann kann der Link unverändert auf Quelle.xlsx verweisen.
@lupo1
Danke, aber dann kann ich den Wert ja auch gleich in meine Zieldatei kopieren, ohne den Umweg ;;)

Ich wollte halt wenn möglich VBA vermeiden, zumal das eigentlich nur eine Kleinigkeit ist, wie ich dachte. Eigentlich gibt es ja alle Formeln, die benötigt werden: Verknüpfung auf Datei und aktueller Dateiname .. nur zusammen geht es nicht.
Hallöchen,

Zitat:nur zusammen geht es nicht
ist nicht korrekt, geht schon zusammen, aber INDIREKT geht, wie schon irgendwo nachzulesen, nur auf geöffnete Dateien.

Die Daten brauchst Du bei einer VBA-Lösung auch nicht zu kopieren. Du brauchst mit VBA nur beim Speichern der Datei aus der Vorlage heraus den Bezug in den Formeln mit Suchen & Ersetzen zu ändern.