Herbers Excel-Forum - das Archiv

Verlinkung externer Arbeitsmappen

Bild

Betrifft: Verlinkung externer Arbeitsmappen
von: Marty

Geschrieben am: 13.03.2008 09:58:17

Hallo liebe Excel Gemeinde,
habe hier ein massive Problemstellung die ich scheinbar nur mit VBA gelöst bekomme?!
Die Aufgabe besteht darin, auf Daten von ca. 600 identischen Arbeitsmappen zuzugreifen und diese in einer neuen Arbeitsmappe auszuweisen.
Eine klassische Verlinkung fällt aus, da zu aufwendig und Pflegeintensiv.
Verwendung von INDIREKT + ADRESSE + VERKETTEN wäre die eleganteste Variante schnell auf die Daten zuzugreifen (mit Verketten könnten die Arbeitsmappennamen, die sich durch eine laufende nummer unterscheiden generiert werden und mit ADRESSE könnte die Zellbezüge dynamisch erstellte werden. PROBLEM: INDIR + ADRESSE erfordert zum Datenabruf, dass alle 600 Arbeitsmappen geöffnet werden...
Gibt es eine andere, auch für einen VBA Novizen/Laien einsetzbare Methode?
Tausend Dank für Eure Hilfe!
Gruss
Marty

Bild

Betrifft: AW: Verlinkung externer Arbeitsmappen
von: fcs

Geschrieben am: 13.03.2008 14:44:57
Hallo Marty,
ich hab keine Ahnung ob eine Excel-Arbeitsmappe Verknüpfungen in ca. 600 andere Dateien verkraftet.
Mit etwas Tricksen und ein wenig Handarbeit kann man auch ohne VBA die entsprechenden Formeln generieren.
Dazu wird der Formeltext zunächst als Textstring in einer Zelle berechnet.
Anschließend die Zellen mit den Formeln kopiert und und als Werte in einem 2. Tabellenbereich eingefügt.
Zum Schluss muss noch mit Suchen/Ersetzen das "=" durch "=" ersetzt werden, damit Excel aus dem text eine Formel macht.
Beispiel:

='\\S040a0025\s014123$\[Mappe
Zellen
DateiNr	$A$4
1	=$A$1&$A4&".xls]Tabelle1'!"&B$3	='\\S040a0025\s014123$\[Mappe1.xls]Tabelle1'!$A$4
2	=$A$1&$A5&".xls]Tabelle1'!"&B$3	='\\S040a0025\s014123$\[Mappe2.xls]Tabelle1'!$A$4


In A1 steht der 1. Teil der Formel als Text (Eingabe mit Hochkomma beginnen!). Also Laufwerk,Verzeichnise und ggf. Teil des Dateinamens.
in A4, A5, usw. steht die fortlaufende Nummer
in B3 steht die Zelle aus der der Wert ausgelesen werden soll, weitere Zellen kann man in Zeile 3 in weiteren Spalten angeben.
in B4 steht die Formel zur Berechnung des Formeltextes. Diese Zelle entsprechend nach unten/rechts kopieren.
Nach dem Kopieren der Formelergebnisse und dem Ersetzen des =-Zeichens werden die Werte aus den verknüpften Dateien berechnet.
Nachfolgend ein Beispiel-Makro, das die Formeln generiert und im Tabellenblatt einträgt.
Gruß
Franz

Sub Formeln()
Dim DateiNr As Long
Dim ws As Worksheet, Zeile As Long, Formel1 As String, Formel2 As String
Set ws = ActiveSheet
'Formeln mit Verknüpfung ab Zeile 2 einfügen
Zeile = 2 'Startzeile für Formeln
Formel1 = "='\\S040a0025\s014123$\[Mappe" 'Pfad + g. Teil des Dateinamens
'Formel1 = "='C:\Test\TestTest\[Mappe" 'Pfad + ggf. Teil des Dateinamens
Formel2 = ".xls]Tabelle1'!" 'Dateierweiterung + Tabellenname
For DateiNr = 1 To 2 'Nummern entsprechend anpassen
ws.Cells(Zeile, 1).Value = DateiNr
ws.Cells(Zeile, 2).FormulaLocal = Formel1 & DateiNr & Formel2 & "$A$4"
ws.Cells(Zeile, 3).FormulaLocal = Formel1 & DateiNr & Formel2 & "$B$4"
Zeile = Zeile + 1
Next
End Sub


 Bild
Excel-Beispiele zum Thema "Verlinkung externer Arbeitsmappen"
Wert in externer Mappe suchen und mit Format übernehmen. Symbolleiste zum Aufruf externer Anwendungen erstellen
Blätter in andere Arbeitsmappen kopieren Variablenübergabe in andere Arbeitsmappen
Zugriff auf geschlossene Arbeitsmappen 1000 Arbeitsblätter aus 1000 Arbeitsmappen einlesen
Arbeitsmappen-History erstellen Alle Arbeitsmappen außer einer schließen
Auslesen der Arbeitsmappeneigenschaften Geöffnete Arbeitsmappen mit Arbeitblättern listen