Consolidieren mit einem Array
25.07.2014 15:55:19
FloT
ich habe gleich 2 Probleme mit meinem Makro. Ich hoffe Ihr könnt mir helfen.
1. Hauptproblem
Ich möchte mit consolidate Daten aus verschiedenen Dateien(gleiche Datenstruktur) eines Ordner mit Summe konsolidieren. Es sind so ca 100 Dateien und es kommen ständig welche dazu.
Mein Ansatz ist alle Dateien in einen Array zu schreiben und dann an consolidate zu übergeben.
Leider bekomme ich Fehler 1004: Laufzeit oder Objektdefinierter Fehler
Ich hoffe Ihr könnt mir weiterhelfen. Ich arbeite das erste mal mit Arrays in VBA...
2. Problem
Wie stelle ich sicher das die For i Schleife nur so lang läuft wie das Array lang ist?
Sub consolidate()
Dim sFile As String, sPath As String, AllWb(100) As String
If Right(sPath, 1) "/" Then
sPath = ThisWorkbook.Path & "\data\"
End If
sFile = Dir(sPath & "*.xlsx")
For i = 0 To sFile = "" 'das habe ich probiert - funktioniert leider nicht.
AllWb(i) = "'" & sPath & "[" & sFile & "]overall'!C1:C3"
sFile = Dir()
Next i
`diese Funktion habe ich als test für den String - sie funktioniert, leider nur mit einer _
Tabelle.
Selection.consolidate Sources:=Array( _
"'" & sPath & "[" & sFile & "]overall'!C1:C3" _
), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
' Diese Funktion würde ich gern benutzen, funktionier taber nicht
Selection.consolidate Sources:=Array(AllWb), Function:=xlSum, TopRow:=False, LeftColumn:= _
False, CreateLinks:=False
End Sub
Schon mal herzlichen Dank im voraus!
Florian