Mappenübergreifender Datenaustausch
Boris
Gibt es in xl 2007 eine komfortable Lösung für folgende Sache:
Ich habe ein aus mehrfachen Mappen bestehendes komplexes "Dateisystem", das ich für verschiedene Projekte nutze (und dafür vor einem Projekt in einen neuen Ordner kopiere). Für die Beschreibung beschränke ich das Beispiel auf 2 Mappen, die sich beide im Projektordner befinden.
In Datei Analysis.xlsm gibt es ein Blatt Analysis, das sich Daten aus diversen Blättern innerhalb der Datei zieht und in Tabellenform mit Überschriften darstellt, sagen wir mal in Zeile 14 stehen die Überschriften und ab Zeile 15 die Daten. Die Tabellenstruktur kann sich ändern (neue Spalten, Änderung der Überschriften) und die Zeilenanzahl variiert.
Diese Tabelle des Blattes Analysis soll nun in der Datei Overview.xlsm auf dem Blatt Overview mit komplexen Formeln verwertet werden. Dafür wird die Tabelle oder das komplette Blatt in das Blatt Analysis in der Datei Overview.xlsm kopiert (z.B. mit VBA per Bereich.ClearContents und Bereich.Value = Bereich.Value oder mit MSQuery).
Erreichen möchte ich nun, dass es den Formeln in Overview egal ist, wieviele Zeilen die Tabelle hat, und in welcher Spalte die gesuchte Größe steht.
Innerhalb einer Datei kann man dies leicht erreichen, z.B. da sich Bereiche automatisch mitbewegen, durch Namensvergabe oder mit der neuen Tabellenfunktion von 2007. Wie gehe ich jedoch vor, wenn ich das komplette Blatt oder einen Bereich davon mit VBA kopiere?
Ich lasse die Frage jetzt erstmal bewusst offen, da ich niemanden beeinflussen möchte. In 2003 habe ich eine Lösung gefunden, die die Blätter per VBA kopiert und für jede Spalte automatisch Namen vergibt. Diese ist allerdings sehr aufwendig, fehleranfällig und für dritte Anwender nicht leicht zu bedienen.
PS: Volatile Funktionen wie z.B. INDIRECT, OFFSET oder SVERWEIS müssen hierbei vermieden werden, da diese bei jeder Kalkulation ausgeführt werden und zu langsam sind.
Viele Grüße
Boris