|
▼マナ さん:
>▼inoue さん:
>
>>しかし、取得できた領域はその1ファイルのみでした。
>>これを任意のフォルダ内にあるすべてのファイルに対して行うためには
>>どのようにすればよいでしょうか。
>
>現在のコードで、値を転記している箇所、
>
>>rIdx = rIdx + 1
>>
>>Cells(rIdx, 1).Value = fName
>>Me.Cells(rIdx, 2).Value = ActiveSheet.Range("A1").Value
>>Me.Cells(rIdx, 3).Value = ActiveSheet.Range("B1").Value
>>Me.Cells(rIdx, 4).Value = ActiveSheet.Range("C1").Value
>>Me.Cells(rIdx, 5).Value = ActiveSheet.Range("D1").Value
>>Me.Cells(rIdx, 6).Value = ActiveSheet.Range("E1").Value
>>Me.Cells(rIdx, 7).Value = ActiveSheet.Range("F1").Value
>
>ここに、組み込むのです。
>考えてみてください。
>転記先のセルは、End(xlup).Offset(1)で求めると良いと思います。
マナさん
度重なるご指導ありがとうございます!!
おっしゃる通りにしましたら望みのことができました。
日曜日にこのような無知なものにお付き合いいただき
誠にありがとうございました。
これを機にvbaのコードにも理解を深めていきたく思います。
下記に成功したコードを記載させていただきます。
Sub test()
Application.ScreenUpdating = False
Const myPath As String = "C:Users\ユーザ名\Desktop\フォルダ名\"
Dim fName As Strimg
fName = Dir (myPath & "*.xls")
Do Until fName = ""
Workbooks.Open Filename:=myPath & fName
Dim ws As Worksheet
Dim r As Range
Dim myStr As String
myStr = "目印"
Set ws = ActiveSheet
Set r = ws.Cells.Find(What:=myStr, LookIn:=xlValues, LookAt:=xlWhole)
Set r = r.CurrentRegion
Set r = Intersect(r, r.Offset(2))
r.Copy
Worksheets.Add
Range("A65536").End(xlUp).Offset(1).PasteSpecial xlPasteValues
Windows(fName).Close
fName = Dir
Loop
Applicaion.ScreenUpdating = True
End Sub
|
|