Verlinken von Excel Arbeitsmappen bei wechselnden Tabellenamen

Hallo zusammen

Habe ein etwas kniffliges Problem: Ich habe in einem Verzeichnis 8 Excel Arbeitsmappen, welche jeweils nur 1 Tabelle (= Sheet, ich habe engl. Excel) enthalten. Diese 8 Mappen werden von unser IT als Export generiert, als Beispiel Autos.xlsx mit dem einzigen Tabellenblatt Autos1. Die 8 Mappen werden in einer weiteren Mappe Results.xlsm zusammengefasst, d.h. verlinkt. Da die Struktur der einzelnen Mappen immer gleich ist, verwende ich dazu offset/match-Kombinationen um die Werte abzufragen. Hier ein Beispiel von einer Zelle aus Results.xlsx:
=OFFSET(’[Autos.xlsx]Autos1!$A$1;MATCH(C$34;’[Autos.xlsx]Autos1!$A:$A;0)-1;3).
Es hat Dutzende von solchen Verweisen!

Die 8 Reporte werden per Makro beim Öffnen des Hauptreportes Results.xlsm mitgeöffnet, damit akutalisiert sich alles .

Nun will ich aber den Export dieser 8 Reporte (und weiterer…) auf der IT Seite automatisieren. Das geht auch, nur kreiert nun die IT aus nicht nachvollziehbaren Gründen jedesmal neue und völlig kryptische Blattnamen. Die Arbeitsmappe ist weiterhin korrekt Autos.xlsx aber die Tabelle heisst nun z.B. klfJL4568HJJ. Und das bei jedem Export anders.
Wie das lösen? ich stelle mir vor, dass man in VBA eine Funktion macht, welche für jede verbundene Arbeitsmappe den Blattnamen ermittelt (es ist immer nur 1 Blatt, d.h. also das erste) und „ablegt“ und man das dann mit Indirect in die obigen Formeln einbaut. Aber mit VBA bin ich nicht sehr stark…

Oder hat jemand eine andere Idee ?

Vielen Dank für jede Hilfe!

Ich versuche, möglichst ohne Makros und VBAs auszukommen. Deshalb setze ich für solche Aufgaben den =INDIREKT() Befehl ein.

In meinen Anwendungsfällen weiß ich aber auch, wie die Tabellen heißen und kann sicher sein, dass ich keine Laufzeitfehler bekomme.

Ciao, Allesquatsch

Falscher Pfeil. Sorry

@Allesquatsch: Danke, ich hatte eben gedacht, dass „im Hintergrund“ eine VBA Funktion anhand des in der Zelle vorhandenen Dateinamen (oder woanders in der Resultattabelle), den Namen der ersten (einzigen) Tabelle im Verlinkten File finden könnte und diesen Namen dann mit Indirekt in die Formel einbauen.

@Clude G: Was meinst Du mit falscher Pfeil?

Ich habe mal folgenden Code ausfinding gemacht und ein wenig abgeändert, aber eben, meine VBA Kenntnisse sind schon rudimentär:

Sub BlattnameAutosTotal()
Dim wksZiel As Worksheet
Dim wkbQuelle As Workbook
Dim wks As Worksheet
Dim strMappe As String
strMappe = „Q:\Results\AutosTotall.xlsx“
Set wksZiel = ThisWorkbook.Sheets(„Results“).Cells(35, 15)
Set wkbQuelle = Workbooks.Open(strMappe)
For Each wks In wkbQuelle.Worksheets
wksZiel.Cells(1, wks.Index).Value = wks.Name
Next wks
wkbQuelle.Close
Set wksZiel = Nothing
Set wkbQuelle = Nothing
End Sub

Der usrprüngliche Code hatte das Cells(35, 15) nicht, das brauche ich aber, weil ich die Balttnamen in ganz bestimmte Zellen haben will. Aber leider funzt der Code so nicht mehr???

Besser wäre eigentlich den Namen gar nicht einzusetzen, sondern als Wert zu speichern um ihn dann in Formeln zu verwenden, z.B =Indirect ("[autototal.xlsx]"&blattnameautostotal&"!C35")