| 
    
     |  | まい さん こんにちは。
 
 ごめんなさい、ちょっと時間がないので、
 まじめにテストしていません。
 .FINDを使う手もありますが、個人的に、配列の方が好きなので、
 こんなコードになっています。
 
 Sub フォルダをひらいて()
 
 Dim myFo As String
 Dim fileStr As String
 Dim myWb As Workbook, newWb As Workbook
 Dim myData As Variant
 Dim i As Integer, j As Integer, k As Integer
 
 myFo = "D:\Ki"  'フォルダのパス
 fileStr = Dir(myFo & "\", vbNormal)
 Set newWb = Workbooks.Add
 k = 1
 
 Do While fileStr <> ""
 Set myWb = Workbooks.Open(myFo & "\" & fileStr)
 myData = Range("A1:W" & myWb.ActiveSheet.Range("A65536").End(xlUp).Row)
 
 For i = 1 To UBound(myData, 1)
 For j = 1 To 23
 If myData(i, j) = "検索文字列" Then   '検索文字列を入力
 newWb.ActiveSheet.Rows(k) = myData
 k = k + 1
 End If
 Next j
 Next i
 
 myWb.Close
 fileStr = Dir
 Loop
 
 End Sub
 
 
 |  |