Guten morgen,
ich habs ;-))))))))))
Habe mir nun aus allen Antworten einen Code zusammengebastelt - dieser funktioniert (so hoffe ich) tadellos.
Super, vielen, vielen Dank für Eure Hilfe
Viele Grüße - Petra
Private z!
Sub AuswertungenUebertragen2008()
Dim Laufwerk$, Dateien$
z = 9 'Erste Eintrag Zeile 9
z1 = 4 'Erster Eintrag Spalte 4
[d9:f200] = "" 'Alte Eintragungen löschen
Laufwerk = "C:\Users\Petra\Documents\...\User1"
Dateien = "*xls*"
Dateisuche Laufwerk, Dateien
Application.StatusBar = False
End Sub
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(z & z1, 4).Formula = "='" & Pfad(Laufwerk & tmp) & "[" & Datei(Laufwerk & tmp) & "]" & "Auswertung" & "'!" & "B8"
Cells(z & z1, 5).Formula = "='" & Pfad(Laufwerk & tmp) & "[" & Datei(Laufwerk & tmp) & "]" & "Auswertung" & "'!" & "C8"
Cells(z & z1, 6).Formula = "='" & Pfad(Laufwerk & tmp) & "[" & Datei(Laufwerk & tmp) & "]" & "Auswertung" & "'!" & "D8"
z = z + 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
z = z - 1
Wdhlg = Dir(Laufwerk, vbDirectory)
z = z + 1
Do While Wdhlg <> tmp
Wdhlg = Dir()
Loop
End If
End If
tmp = Dir()
Loop
On Error GoTo 0
Application.StatusBar = False
End Sub
Function Datei(Wert As String) As String
Do While InStr(Wert, "\") <> 0
Wert = Right(Wert, Len(Wert) - InStr(Wert, "\"))
Loop
Datei = Wert
End Function
Function Pfad(Wert As String) As String
Dim wert1$
wert1 = Wert
Do While InStr(wert1, "\") <> 0
wert1 = Right(wert1, Len(wert1) - InStr(wert1, "\"))
Loop
Pfad = Left(Wert, Len(Wert) - Len(wert1))
End Function