|
データ.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ファイルを選択させます。
|
|