Add a standard module and paste the following code in it.
___
Option Explicit
Public Function GetFileList(ByVal Folder As String)
If Right$(Folder, 1) <> "\" Then Folder = Folder & "\"
Dim Files As New Collection
ScanFolder Folder, Files
Set GetFileList = Files
End Function
Private Function ScanFolder(Folder As String, Files As Collection)
Dim FolderItem As Variant, NewItem As String, Attr As Long
For Each FolderItem In FolderItems(Folder)
NewItem = Folder & FolderItem
On Error Resume Next
Attr = GetAttr(NewItem)
If Err Then GoTo NextItem
On Error GoTo 0
If Attr And vbDirectory Then
ScanFolder NewItem & "\", Files
Else
Files.Add NewItem
End If
NextItem:
Next
End Function
Private Function FolderItems(Folder As String) As Collection
Dim C As New Collection, S As String
S = Dir(Folder, vbDirectory Or vbHidden Or vbSystem)
Do Until S = vbNullString
If S <> "." And S <> ".." Then C.Add S
S = Dir
Loop
Set FolderItems = C
End Function
___
Place a list box (List1) on your form, and insert the following code in it.
___
Option Explicit
Private Sub Form_Load()
Dim Item As Variant
For Each Item In GetFileList("
E:\Reference"

List1.AddItem Item
Next
End Sub
___
Run the program, it will list all the files in the folder E:\Reference including sub-folders in the listbox.