Datenübernahme aus anderer Excel-Datei

Hallo!

Ich habe ein Problem und hoffe, dass mir hier jemand helfen kann.
Ich habe eine Excel-Datei, in der Daten auf unterschiedlichen Tabellenblättern gespeichert ist (Januar_08, Februar_08…)
Jetzt möchte ich Teile dieser Daten in eine andere Datei übertragen, die ebenfalls identische Tabellenblätter enthält und zwar sollen die Daten von Februar_08 auch in der anderen Datei Februar_08 stehen.
Bis hier ist es eigentlich noch kein Problem, aber ich möchte, dass die Datei beliebig erweiterbar ist: Ich erstelle in beiden Dateien ein neues Tabellenblatt (März_08), kopiere alle Formeln von Februar_08 der zweiten Datei auf März_08 und es sollen automatisch die Daten aus Datei 1 Tabelle März_08 übertragen werden.
Ich weiß, dass man mit „=’[Datei1.xls]Januar_08’!$A$1“ Daten übertragen kann und mit „=TEIL(ZELLE(„Dateiname“;$A$1);FINDEN(“]";ZELLE(„Dateiname“;$A$1))+1;31)" den Namen des Tabellenblatts herausfinden kann. Man muss es nur kombinieren aber wie?
also z.B. wenn in A1 der Tabellenblattname steht sowas wie
„=’[Datei1.xls]&a1’!$A$1“. Leider funktioniert das so nicht.

Schon mal vielen Dank,
Tharsonius.

Hallo, Tharsonius!

Ich weiß, dass man mit „=’[Datei1.xls]Januar_08’!$A$1“ Daten
übertragen kann und mit
„=TEIL(ZELLE(„Dateiname“;$A$1);FINDEN(“]";ZELLE(„Dateiname“;$A$1))+1;31)"
den Namen des Tabellenblatts herausfinden kann. Man muss es
nur kombinieren aber wie?
also z.B. wenn in A1 der Tabellenblattname steht sowas wie
„=’[Datei1.xls]&a1’!$A$1“. Leider funktioniert das so nicht.

Du bist auf dem richtigen Weg: Du brauchst die Funktion INDIREKT.
Wenn Du z. B. in Deiner Datei in Zelle A1 den Dateinamen stehen hast, kannst Du mit

=INDIREKT("["&A1 &"]Tabelle1!A1")

auf die Zelle A1 aus Tabelle1 aus die in Deiner Zelle A1 referenzierten Datei zugreifen.

Gruß, Manfred

Hallo Manfred!

Vielen Dank für deine Antwort, allerdings löst es mein Problem nicht, bzw. ich kann es auf mein Problem nicht anwenden. Vielleicht beschreib ich es anders. Die Dateinamen der Excel-Tabellen werden immer gleich sein.

  • Es gibt eine Datei 1.xls und eine zweite 2.xls.
  • In beiden Dateien gibt es ein Tabellenblatt mit den Namen Januar_08 und Februar_08.
  • z.B. lautet in der Datei 1.xls das Feld C3 auf Januar_08 „Wurst“ und das Feld C3 auf Februar_08 „Käse“.
  • Ich möchte jetzt, dass das Feld A1 in 2.xls auf Januar_08 „Käse“ heißt und das Feld A1 auf Februar_08 „Wurst“.
  • Natürlich kann ich das lösen mit =[1.xls]Januar_08!C3 und =[1.xls]Februar_08!C3
  • Da ich aber viele Daten auslesen möchte, müsste ich für jeden Monat in allen Feldern „Februar_08“ durch „März_08“ ersetzen.
  • Ich würde lieber alle Formeln in 2.xls des Tabellenblatts Februar_08 kopieren auf ein neues Tabellenblatt März_08 und Excel soll automatisch die Daten von 1.xls März_08 auslesen.

Ich hoffe, so ist es verständlicher.

Gruß,
Tharsonius.

Vielen Dank für deine Antwort, allerdings löst es mein Problem
nicht, bzw. ich kann es auf mein Problem nicht anwenden.

Hi Tharsonius,

quasi das Letztere, Manfred hat dir schon korrekt die richtige Richtung gewiesen.

probiers mal so:

=INDIREKT("[1.xls]"&TEIL(ZELLE(„Dateiname“);FINDEN("]";ZELLE(„Dateiname“))+1;99)&"!A"&ZEILE())

ggfs mußt du hinten noch
&"!A"&ZEILE()
vorher anpassen/abändern auf deine Spalten, wenn du die Formel nach rechts kopierst.

Melde dich hier wenn du es nicht hinkriegst. Ich bin 'ne faule Socke und alles wo man mehrere Dateien öffnen müßte, noch spezielle Blattnamen usw. nachstellen muß, vermeide ich nachzubasteln und probiers erstmal so die Formel ohne Test hinzuschreiben.

Leerzeichen in Blattnamen oder Mappennamen sind sowieso verpönt (weiß gra nicht warum MS das zuläßt, bringt doch nur Ärger), wenn du trotzdem welche drin hast mußt du in die Formel noch die Hochkommas integrieren.

Gruß
Reinhard

Hallo Manfed!

Hab jetzt doch rausgefunden, wie ich deinen Tipp umsetzen kann:
In einem Feld (z.B. A1) von 2.xls muss stehen
="’[1.xls]"&TEIL(ZELLE(„Dateiname“;$A$1);FINDEN("]";ZELLE(„Dateiname“;$A$1))+1;31)&"’!"
Dann muss in der Zelle, die ich übernehmen will, stehen
=INDIREKT(A1&„c3“)

Noch mal vielen Dank, du hast mir sehr geholfen.

Tharsonius.