Maybe this will help

'This macro uses the technique of recursion to examine the contents of a folder structure no matter how complex it is.

Sub Extract()
Dim Filename As Variant
' Set up the empty spreadsheet
Cells.Clear
Cells(1, 1) = "Folder"
Cells(1, 2) = "File"
Cells(1, 3) = "Size"
Cells(1, 4) = "Name"

'Use the GetOpenFilename function to get a full path description of a typical file
Filename = Application.GetOpenFilename()
If Filename = False Then Exit Sub
'The GetSubDirectories subroutine is called recursively using the name of the parent folder as the single argument.
Call GetSubDirectories(Left(Filename, Len(Filename) - Len(Dir(Filename)) - 1))


Columns.AutoFit
End Sub

Sub GetSubDirectories(folderspec)
Dim fs As Object, f As Object, s As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Call GetFiles(f.Path)
For Each SubFolder In f.subfolders
    GetSubDirectories (f.Path & "\" & SubFolder.Name) ' This is a recursive call
Next SubFolder
End Sub

Sub GetFiles(folderspec)
Dim fs As Object, f As Object, s As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)

For Each File In f.Files
    On Error Resume Next
    Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = folderspec ' next available cell in column 1
    Cells(Rows.Count, 1).End(xlUp).Offset(0, 1).Value = folderspec & "\" & File.Name
    Cells(Rows.Count, 1).End(xlUp).Offset(0, 2).Value = File.Size
    Cells(Rows.Count, 1).End(xlUp).Offset(0, 3).Value = File.Name
    On Error GoTo 0
Next File
End Sub
When prompted, select a file in your top level folder - if there isn't one then create one as an anchor.