There is probably a better way to do this, but this is how I do it:
Sub SearchFiles(NamePart As String, FolderPath As String, Files() As String)
Dim objFS
Dim objFolder
Dim File
Dim k As Integer
Set objFS = CreateObject("Scripting.FileSystemObject"

Set objFolder = objFS.GetFolder(FolderPath)
For Each File In objFolder.Files
If InStr(File.Name, NamePart) > 0 Then
k = k + 1
ReDim Preserve Files(k)
Files(k) = File.Name
End If
Next
Set objFolder = Nothing
Set objFS = Nothing
End Sub
Here is a sample Form:
Private Sub Command1_Click()
Dim FileList() As String
Dim k As Integer
Call SearchFiles(TxtInput, txtFolder, FileList())
For k = LBound(FileList()) To UBound(FileList())
TxtOutput = TxtOutput & FileList(k) & vbCrLf
Next
End Sub