Isso obterá a matriz de nomes de arquivos e também armazenará essa matriz na coluna A :
Sub MAIN()
Dim FolderOfInterest As String, i As Long
FolderOfInterest = "C:\TestFolder"
Dim ary()
ary = files_in_folder(FolderOfInterest)
MsgBox "There are " & UBound(ary) & " files in folder " & FolderOfInterest
'
' Now store the array in a worksheet column
'
i = 1
For Each a In ary
Cells(i, "A").Value = a
i = i + 1
Next a
End Sub
Public Function files_in_folder(folderS As String) As Variant
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(folderS)
ReDim temp(1 To folder.Files.Count)
i = 1
For Each file In folder.Files
temp(i) = file.Name
i = i + 1
Next file
files_in_folder = temp
End Function
NOTA:
A função retorna uma matriz de strings, (uma baseada) . O número de arquivos é o limite superior dessa matriz.