Clever-Excel-Forum

Normale Version: Verknüpfung mit einer anderen Excel Datei, deren Name immer mit "Übersicht_" beginnt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Leser,

Kann ich mit einer Formel (innerhalb einer Zelle) den Inhalt einer anderen Datei auslesen bzw. verknüpfen, deren Dateiname immer mit Übersicht_[...].xlsx beginnt, der Rest des Dateinamens ist variabel. Am liebsten wäre mir eine Verknüpfung ohne VBA. Also etwa so:
Code:
='[Übersicht_[...].xlsx]Tabelle1'!C5
Wenn nicht, kann man dies mit VBA realisieren? --> Wenn ja, kennt jemand so einen Code, oder kann mir das script mitteilen?

Nun die Einzelheiten:

Ich habe ein Verzeichnis mit mehreren Ordnern:
  1. \Dokumente\Listen\01_Getränke\
  2. \Dokumente\Listen\02_Essen\
  3. \Dokumente\Listen\03_Tische\
  4. ...
  5. ...
  6. ...
Die Ordnerstruktur kann nicht verändert werden, sonst gäbe es sicherlich eine andere Möglichkeit.


In allen Ordnern befindet sich jeweils eine Excel-Datei mit dem Namen Excel-Auslesen.xlsx
und eine weitere Excel-Datei mit dem Namen Übersicht_....xlsx
Diese weitere Excel-Datei, in der eine bestimmte Zelle (z.B. C5) ausgelesen werden soll, heißt im 
  • 1. Dateipfad    Übersicht_Getränke.xlsx
  • 2. Dateipfad    Übersicht_Essen.xlsx
  • 3. Dateipfad    Übersicht_Tische.xlsx
  • ...
Normalerweise verwende ich folgende Verknüpfungs-Formel:

Code:
='[Übersicht_Getränke.xlsx]Tabelle1'!C5

Jetzt müsste ich für jede Datei Excel-Auslesen.xlsx die Verknüpfung anpassen. Also für den 2. Ordnerpfad die Verknüpfung ändern in '[Übersicht_Essen.xlsx]Tabelle1'!C5
Alle Excel Dateien, die ausgelesen werden sollen, haben nur den ersten Teil des Dateinamens gemeinsam, und zwar:
Übersicht_
Da ich über 90 Dateipfade, also über 90 Excel-Auslesen.xlsx-Dateien habe, die geändert werden müssten, möchte ich gerne eine

Routine / Funktion haben, die im gleichen Ordner immer nach einer Excel-Datei sucht, deren Dateiname mit "Übersicht_" beginnt, und dann die Verknüpfung entsprechend anpasst.

Kann mir da jemand weiterhelfen? :20: Huh
Hallo ccolucci,

ich kann dir bei deinem Problem so erst einmal nicht helfen, aber vielleicht hilft dir folgende Seite zu deinem Ziel:
http://www.tabellenexperte.de/blattnamen...ermitteln/
Falls du Erfolg hast, dann lass es uns wissen.

Gruß
Thomas
(26.06.2015, 15:23)Atom schrieb: [ -> ]Hallo ccolucci,

ich kann dir bei deinem Problem so erst einmal nicht helfen, aber vielleicht hilft dir folgende Seite zu deinem Ziel:
http://www.tabellenexperte.de/blattnamen...ermitteln/
Falls du Erfolg hast, dann lass es uns wissen.

Gruß
Thomas
Hallo Thomas,
vielen Dank für Deinen Beitrag. Das Auslesen von Dateinamen und deren Anzeigen in einer beliebigen Zelle mit "=ZELLE("dateiname") sowie das Auslesen von Pfadnamen (Dateipfad) und das Auslesen von Namen der Tabellenblättern mit den LINKS / RECHTS - Formeln habe ich bereits geschafft.
Aber mein Problem ist das Auslesen des Dateinamens von "fremden" Excel-Dateien im gleichen Ordner. Huh  KNIFFLIGE AUFGABE. Wer kann helfen?
Trotzdem danke für den Link! Blush
Hi,

(26.06.2015, 15:35)ccolucci schrieb: [ -> ]Aber mein Problem ist das Auslesen des Dateinamens von "fremden" Excel-Dateien im gleichen Ordner. Huh  KNIFFLIGE AUFGABE. Wer kann helfen?
Trotzdem danke für den Link! Blush

und warum kannst Du nicht den Pfad und den Dateinamen der fremden Datei in die Formel übernehmen?
(26.06.2015, 16:06)Rabe schrieb: [ -> ]Hi,
und warum kannst Du nicht den Pfad und den Dateinamen der fremden Datei in die Formel übernehmen?

Hallo Ralf, vielen Dank für Deine Antwort. Ich weiß nicht wie ich nach einer "fremden", also anderen Excel-Datei (im gleichen Ordner) suchen kann.
Habe mir folgende Formel überlegt, aber sie funktioniert nicht.
Code:
=ZELLE("dateiname";FINDEN("[Übersicht_";ZELLE("C:\Dokumente\Listen\01_Getränke\")))

Mit dem Befehl =ZELLE("dateiname") erhalte ich als Ergebnis lediglich den Pfad der eigenen Datei: C:\Dokumente\Listen\01_Getränke\Excel-Auslesen.xlsx aber nicht den Pfad für Übersicht_Getränke.xlsx
Wer kann mir weiterhelfen? :22:
Hallöchen,

per "variabler" Angabe in einer Formel geht das nicht. Du müsstest für variable Adressierung INDIREKT verwenden und das geht nicht auf andere geschlossene Mappen.

Du könntest aber nach Bedarf mit Suchen und Ersetzen die Bezüge ändern. Suchen und Ersetzen könnte man auch programmieren / aufzeichnen.
Hallo,

vielleicht wirst Du mit dem Pfad hier fündig.
Hallöchen,

bei den Excelformeln fehlt auch noch das Ersetzen der Pfad- und Dateiangabe in den Formeln Sad

Man könnte aber wiederum recht einfach mit Suchen und Ersetzen zum Ergebnis kommen.
Per Formel kann man ja den gewünschten Formelstring zusammenbauen, anschließend mit kopieren und Werte einfügen das Ergebnis in die Zellen übernehmen und zum Schluss ein "=" davor setzen. Diese Aktionen würden auch per VBA machbar sein.

Die andere Variante wäre eine reine VBA-Lösung.
Ich hatte hier http://www.clever-excel-forum.de/thread-...l#pid19721 einen code gepostet, mit dem man aus allen Dateien eines Verzeichnisses Daten kopieren kann. Statt des Kopierens könnte man auch Formeln bearbeiten und die Verknüpfungen ersetzen.
Allerdings lässt die Aufgabenstellung noch etwas Speilraum bei der Auslegung, wo und wie das passieren soll. Beginnt das in A1 und geht, solange es die Übersichtsdateien gibt? Anzahl ist unbekannt? Für jede Datei in einer Zelle eine Formel? ...
Hallöchen Stefan,

beim Link zu den Excelformeln kommst Du aber auf eine Lösung, die Dir Ergebnisse für die Datei bringt, in der die Formel steht, und keine Übersicht für die Dateien eines Verzeichnisses. Das könnte dann diese Formellösung:
http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=126
Hallöchen,

ich habe das mit der Formellösung hier mal als Prinzip dargestellt.

Zuerst habe ich anhand der Anleitung von Excelformeln den Namen eingefügt.
Dann habe ich in Spalte A die Formel eingesetzt und die Dateinamen ermittelt.
In Spalte B habe ich dann per Formel die von mir gewünschte Formel als Text zusammengesetzt. Wegen dem nächsten Schritt habe ich da s"#" davor gesetzt.
Als nächstes habe ich B1 kopiert und in C1 mit "Werte einfügen" als reinen Text eingefügt.
Zuletzt käme jetzt noch mit Suchen und Ersetzen das Entfernen von #

Arbeitsblatt mit dem Namen 'Tabelle3'
 ABC
1Daniel.xlsx#='D:\[Daniel.xlsx]Tabelle1'!$C$5#='D:\[Daniel.xlsx]Tabelle1'!$C$5

NameBezug
DAT=DATEIEN("D:\*.xlsx")

ZelleFormel
A1=INDEX(DAT;ZEILE())
B1="#='D:\[" & A1 &"]Tabelle1'!$C$5"
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Seiten: 1 2