|
1班〜10班という10枚のシートのそれぞれのB列に氏名、C列に地区名が入っています。
地区ごとに抽出して、地区別という名簿を作りたいので、順番というシートのI列に地区名を入れました。
それが、下のコードです。
Dim han As String
Dim tiku As String
Dim hari As Integer
Sheets("地区別").Select
t = Range("c65536").End(xlUp).Row
Range(Cells(3, 1), Cells(t, 16)).ClearContents
For t = 2 To 10 ‘地区は8
tiku = ThisWorkbook.Worksheets("順番").Cells(t, 12).Value
For u = 3 To 12
han = ThisWorkbook.Worksheets("順番").Cells(u, 1).Value
Sheets(class).Select
k = Range("c65536").End(xlUp).Row
Range(Cells(2, 1), Cells(k, 17)).Select
上 = 2 ‘リストの見出しが2行目のため
左 = 1
Selection.AutoFilter
Selection.AutoFilter field:=9, Criteria1:=tiku
下 = Range("c65536").End(xlUp).Row + 1
Range(Cells(上 + 1, 左 + 1), Cells(下, 17)).Select
Selection.Copy
Sheets("地区別").Select
hari = Range("A65536").End(xlUp).Row + 1
Range(Cells(hari, 1), Cells(hari, 1)).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
'False, Transpose:=False
Next u
Next t
Sheets("地区別").Select
以前、教えていただいたときは、
Range(Cells(上 + 1, 左 + 1), Cells(下, 17)).Select
Selection.Copy
というコードで、抽出部分のみをコピーできたのですが、今回はなぜかうまくいきません。
よろしくお願いします。
(上 + 1は、2行目にリスト見出しがあるので、それをコピーしないためです。)
|
|