ich habe ein Makro aus dem Netz so angepasst, dass definierte Zellinhalte aller (identisch aufgebauten) geschlossenen Excel-Dateien aus einem Dateiordner eingelesen werden. Dazu habe ich in den Zeilen der Spalte E der Zieldatei den Tabellennamen und in den Zeilen der Spalte F die jeweils anzusteuernde Zelle hinterlegt. Ab Spalte G werden die Ergbnisse aus den jeweiligen Dateien Spaltenweise aufgeführt.
In dem Makro -hier nur der m.E. betreffende Teil- muss ich derzeit nun jede in den Quelldateien abzugreifende Kriterium einzeln abgreifen (hier die in Zeile 24 und 25 definierten Zellen):
Sub Dateisuche(Laufwerk, Dateien)
Dim tmp, Wdhlg
On Error Resume Next
If Right(Laufwerk, 1) <> "\" Then Laufwerk = Laufwerk + "\"
tmp = Dir(Laufwerk & Dateien)
Do While Len(tmp)
Cells(2, s) = Datei(Laufwerk & tmp)
Cells(24, s).Formula = "='" & Pfad(Laufwerk & tmp) & "[" & Datei(Laufwerk & tmp) & "]" & [e24] & "'!" & [f24]
If Cells(24, s) <> 1E+15 Then Cells(24, s) = Cells(24, s) Else Cells(24, s) = ""
Cells(25, s).Formula = "='" & Pfad(Laufwerk & tmp) & "[" & Datei(Laufwerk & tmp) & "]" & [e25] & "'!" & [f25]
If Cells(25, s) <> 1E+15 Then Cells(25, s) = Cells(25, s) Else Cells(25, s) = ""
s = s + 1
tmp = Dir()
Loop
tmp = Dir(Laufwerk, vbDirectory)
Do While Len(tmp)
Application.StatusBar = Laufwerk & tmp
If (tmp <> ".") And (tmp <> "..") Then
If (GetAttr(Laufwerk & tmp) And vbDirectory) = vbDirectory Then
Dateisuche Laufwerk & tmp, Dateien
s = s - 1
Wdhlg = Dir(Laufwerk, vbDirectory)
s = s + 1
Do While Wdhlg <> tmp
Wdhlg = Dir()
Loop
End If
End If
tmp = Dir()
Loop
On Error GoTo 0
Application.StatusBar = False
End Sub
Dadurch bin ich in der Anzahl der abzugreifenden Zellen eingeschränkt.
Wie kann ich dieses Makro so variabel gestalten, dass die in Spalte E und F definierten Zellen für jede Datei so lange ausgelesen werden, bis dort keine Zelle mehr definiert ist?
Ich hoffe, ich habe das Problem verständlich beschreiben können!
Vielleicht kann mir ja jemand helfen!
Vielen Dank!
Ruth