Per questa funzione ricorsiva ti serve FSO (File System Object, che trovi nella libreria Microsoft Scripting Runtime).
codice:
Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim root As Folder
Dim c As New Collection
Dim f As File
Set root = fso.GetFolder("C:\Documents And Settings\xyz\Documenti")
Call FindFiles(c, root, "*.mp3")
For Each f In c
Debug.Print f.Path
Next
End Sub
Private Sub FindFiles(res As Collection, root As Folder, search As String)
Dim fd As Folder
Dim fl As File
For Each fl In root.Files
If fl.Name Like search Then res.Add fl
Next
For Each fd In root.SubFolders
Call FindFiles(res, fd, search)
Next
End Sub