Clever-Excel-Forum

Normale Version: Wert aus anderer Datei per Feldnamen übernehmen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hi,

so wird mir in einem Feld der Wert des Feldes A1 aus der Datei "Dateiname.xlsm" angezeigt:
Code:
=[Dateiname.xlsm]Zellwert!A1

Ich möchte jedoch, den Dateinamen automatisch einfügen:
Code:
=[B1]Zellwert!A1
In B1 steht dann folgendes: Dateiname.xlsm

Jedoch funktioniert das nicht. Ich erhalte als Fehlermeldung: "Der Syntax des Namen ist nicht richtig".
[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Wie bekomme ich das hin?

lieben Dank

Julia :)
Hallo Julia,

versuche es mal so (ist aber ungetestet und die Datei muss offen sein)

Code:
=Indirekt("'["&B1&"]Zellwert'!A1")
Hallo,

das wäre ein Fall für die Funktion Indirekt() und könnte etwa so aussehen (ungetestet):

=INDIREKT(B1&"!A1")

Das Problem bei der Geschichte: Indirekt funktioniert nur mit geöffneten Dateien. Wenn das mit geschlossenen Dateien passieren soll dann ist vermutlich eine VBA-Lösung unumgänglich - das ist aber nicht meine Baustelle.
Danke. Wo ist den bei euren Formeln das Blatt? Das Blatt heißt Zellwert. So funktioniert es jedenfalls nicht:
Code:
=INDIREKT(B1&Zellwert!$A1)
(auch nicht, wenn ich die Datei geöffnet habe von der ich die Zelle auslegen möchte)

So funktioniert es:
Code:
=Indirekt("'["&B1&"]Zellwert'!A1")
(jedoch nur, wenn ich die Datei geöffnet habe, von der ich die Zelle auslese)

Wobei ich eine Lösung brauche, wo die Datei nicht geöffnet ist.
Hallo,

Du hast schon den Beitrag von < Peter > (#3) gelesen????
Also geht das nur mit VBA?

So kann ich ja auch Daten aus geschlossenen Exeldateien in die aktuelle Exceldatei einlesen(nützt mir nix, da die Daten die ausgelesen werden sollen aus je einer anderen Datei stammen sollen, der Dateiname steht in B5(und ändert sich je nach Nutzereingabe an anderer Stelle)) :
Code:
=[Daten1.xlsm]Blatt2!C1
Warum geht das nicht auch so:
Code:
=Indirekt("'["&B5&"]Blatt2'!C1")

Von der Funktionsweise sollte Excel das ja können. Wenn ich direkt in die Zelle:
Code:
=[Daten1.xlsm]Blatt2!C1
eingeben würde, würde es funktionieren. Und nichts anderes macht ja die Indirekte Formel. Denn in B5 steht genau der Dateiname drin, also: Daten1.xlsm


Wie sähe das denn mit VBA aus? So gibt es eine Fehlermeldung "Fehler beim compilieren - Syntaxfehler":
Code:
Sub ExterneDaten()
   [D7] = Indirekt("'["&B5&"]Blatt2'!C1")
End Sub
Hallo,

wie wäre es, wenn Du Dir ein paar Bücher zum Thema Excel besorgst, VBA und Formeln, und die durcharbeitest?
Du kannst nicht einfach die Funktionen 1:1 in VBA übernehmen! VBA spricht nur Englisch und hat eine eigene Syntax. Lerne mal die Grundlagen.

Hier: http://online-excel.de/  gibt es gute Tipps!

Fakt ist, dass INDIREKT, wie einige andere Funktionen auch, nicht mit geschlossenen Dateien arbeitet und Du damit leben musst, wie alle anderen Excel-User auch!
Hallo,

ein Beispiel für eine VBA-Lösung findest du z.B. hier:

http://netcult.ch/MVP_Ramel/Demo-Daten/I...er_VBA.xls

Vielleicht hilft dir diese Datei etwas weiter.
Auch Hallo,

direkter Link (damit Du nicht suchen musst) zu Indirekt.

Und falls Du es mit VBA machen willst dann lies mal hier (Der Beitrag von Thomas Ramel mit der Function).
(16.02.2017, 11:34)BoskoBiati schrieb: [ -> ]Fakt ist, dass INDIREKT, wie einige andere Funktionen auch, nicht mit geschlossenen Dateien arbeitet und Du damit leben musst, wie alle anderen Excel-User auch!
(16.02.2017, 11:37)Steffl schrieb: [ -> ]direkter Link (damit Du nicht suchen musst) zu Indirekt.
oh ärgerlich. Danke euch beiden. Naja, dann liegt es jedenfalls schonmal nicht an meiner Blödheit. Aber schade, dass Excel das nicht kann(bzw. sollen kann, weil es ja augenscheinlich leicht möglich wäre).

(16.02.2017, 11:37)Peter schrieb: [ -> ]http://netcult.ch/MVP_Ramel/Demo-Daten/I...er_VBA.xls

danke Dir. Fehlt da nicht die Januar.xls?
Seiten: 1 2