「C:\Tmp」フォルダ内に存在する全「.xlsxx」ファイルのベース名をアクティブシートに出力します。汎用性を高めるために、一度配列へ格納しています。もし「Book1.XLSX」のように拡張子が大文字のファイルが存在したときのために、全ファイルの拡張子をGetExtensionNameメソッドを使って「xlsx」かどうか判定するとき、LCase関数でファイル名を小文字に変換しています。
Sub Sample07() Dim FSO As Object, f As Variant, BaseNames() As String, cnt As Long, i As Long Set FSO = CreateObject("Scripting.FileSystemObject") ReDim BaseNames(FSO.GetFolder("C:\Tmp\").Files.Count) For Each f In FSO.GetFolder("C:\Tmp\").Files If LCase(FSO.GetExtensionName(f.Name)) = "xlsx" Then cnt = cnt + 1 BaseNames(cnt) = FSO.GetBaseName(f.Name) End If Next f If cnt = 0 Then MsgBox "xlsxファイルはありません", vbExclamation Else For i = 1 To cnt Cells(i, 1) = BaseNames(i) Next i End If Set FSO = Nothing End Sub