| 
    
     |  | ▼にしもり さん: こんにちは!
 
 私からも少し。
 
 >    パス = ドライブ & ":\" & フォルダ & "\"
 ここのコード以外「ドライブ」と「フォルダ」というのが使われていませんね。
 ドライブ = "C:"(こちらは例です)
 というコードもないのでもちろん「ドライブ」という変数は「""」が格納
 されています。文字なしですね。
 
 最初にもいいましたが、変数宣言を行わないとこういったエラーが
 出てきてしまうと思います。
 変数宣言がわからなければ調べてほしいです。
 例だけみせればこんな感じです。
 
 Const シート名 As String = "ファイル一覧"
 Dim ファイル名 As String
 
 
 今回、色々問題がありそうですが、コードを見た感じこのようなことが
 したいのではないかと思い編集してみました。
 コードの中にはファイル検索をする「FileSearch」と「Dir」の2種類が
 あったので2つに分けました。
 どちらもMsgboxに表示されるテストコードです。
 
 Sub test1() 'FileSearchの方法
 
 Const シート名 As String = "ファイル一覧"
 Const 親フォルダへのパス As String = "C:\_cosmos_all"
 Const 検索するファイル名 As String = "*COSMOS*" & ".*"
 
 Dim 各ファイルのフルパス
 Dim 貼付行 As Long
 
 With Application.FileSearch
 .NewSearch               '検索条件をリセット
 .LookIn = 親フォルダへのパス      '検索対象のフォルダ名
 .Filename = 検索するファイル名     '検索するファイルの名前
 .SearchSubFolders = True        'サブフォルダも含める
 .Execute                '検索を開始する
 
 For Each 各ファイルのフルパス In .FoundFiles
 MsgBox 各ファイルのフルパス
 Next
 End With
 
 End Sub
 
 Sub Test2() 'Dir()の方法
 
 Const シート名 As String = "ファイル一覧"
 Const 親フォルダへのパス As String = "C:\_cosmos_all"
 Const 検索するファイル名 As String = "*COSMOS*" & ".*"
 Dim ファイル名 As String
 Dim 貼付行 As Long
 
 ファイル名 = Dir(親フォルダへのパス & "\" & 検索するファイル名)  '指定された名前含むファイル名を取得 <==ここでerr
 
 Worksheets(シート名).Activate
 Cells.Clear
 
 貼付行 = 0                 '貼付行カウンタ
 
 Do While ファイル名 <> ""          '取り出したファイル名が""でなければ
 MsgBox 親フォルダへのパス & "\" & ファイル名
 ファイル名 = Dir()
 Loop
 
 End Sub
 
 
 これで動作しましたら、「変数の宣言」「ファイルの検索方法」について
 調べてみるといいかと思います。
 
 
 長々と書き、また色々と言いたいこと言ってしまい失礼しました。
 
 |  |