Sub ListFiles2()
Dim LastStartPoint As String
Dim directories() As String, CurrentDirectory As String
Dim DirCounter As Integer, DirValue As String
Dim filelist As Variant
On Error GoTo 0
StartPoint = "C:\Documents and Settings\Lab\Mijn documenten\Data voor grafieken"
Range("A1").Select
filelist = Range(ActiveCell, ActiveCell.End(xlDown).Offset(0, 2)).Value
ReDim directories(2)
If Right(StartPoint, 1) = "\" Then
directories(1) = StartPoint
Else
directories(1) = StartPoint & "\"
End If
directories(2) = ""
DirCounter = 1
FileCount = 0
On Error Resume Next
Do While directories(DirCounter) <> ""
CurrentDirectory = directories(DirCounter)
DirValue = Dir(CurrentDirectory, vbDirectory)
Do While DirValue <> ""
If InStr("..", DirValue) = 0 Then
dirok = GetAttr(CurrentDirectory & DirValue) And vbDirectory
If dirok Then
ReDim Preserve directories(UBound(directories) + 1)
directories(UBound(directories) - 1) = CurrentDirectory & DirValue & "\"
Else
FileCount = FileCount + 1
filelist(FileCount, 1) = CurrentDirectory & DirValue
DoEvents
End If
End If
DirValue = Dir()
Loop
DirCounter = DirCounter + 1
Loop
Range(ActiveCell, ActiveCell.End(xlDown).Offset(0, 2)).Value = filelist
Application.StatusBar = False
End Sub