| 
    
     |  | データ.xlsのsheet1に入っている元データからツール.xlsのSheet2上にならべてある条件でオートフィルをかけて、データ.xlsのsheet2に結果を貼り付けるというのを繰り返させたいのですが、どうも動いてくれません。 まだVBAを勉強し始めたばかりで、自分の力だけでは解決できそうもありません。どうか宜しくお願いします。
 
 
 Option Explicit
 Dim a As Long
 Dim b As Long
 Dim c As Byte
 Dim d As Long
 Dim e As Long
 Dim r As Long
 Dim x As Byte
 
 Sub main()
 Workbooks("データ.xls").Sheets(2).Range("A1").Activate
 For x = 0 To 13
 a = x * 5 + 5
 b = x * 5 + 6
 c = 2
 d = ActiveCell.Row
 Call オートフィル
 Worksheets(c).Activate
 e = Cells(d, 1).End(xlDown).Row
 Cells(e + 2, 1).Activate
 Next
 End Sub
 
 Sub オートフィル()
 
 Workbooks("データ.xls").Sheets(1).Activate
 
 r = Range("A1").End(xlDown).Row
 
 Range(Cells(1, 1), Cells(r, 13)).AdvancedFilter _
 Action:=xlFilterInPlace, _
 CriteriaRange:=Workbooks("ツール.xls").Sheets("Sheet2").Range(Cells(a, 2), Cells(b, 3))
 
 r = Range("A1").End(xlDown).Row
 Range(Cells(1, 1), Cells(r, 13)).Copy Destination:=Worksheets(c).Cells(d, 1)
 End Sub
 
 
 ※プログラム全体の一部分を抜き出したもので、データ.xlsは実際には任意のExcelファイルを選択させます。
 
 |  |