|
まい さん
こんにちは。
ごめんなさい、ちょっと時間がないので、
まじめにテストしていません。
.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
|
|