|
Sheet1にはA列からG列までデータ入力されています。
やりたいことはオートフィルタを利用し、D列のリストを取得し
そのリスト毎のデータを同じブック内の新しいシートにコピーをしていく。
コピーする際は、そのリストと同じシート名にしたいという事を
実現したいのですが、途中まで作成しましたがうまくいきません。
どなたかお知恵をお貸しください。
Sub Test()
Dim ws As Worksheet, r As Range
Dim myList As New Collection
On Error Resume Next
Set ws = ActiveSheet
With ws
For Each r In .Range(.Range("D2"), .Range("D65536").End(xlUp))
myList.Add r.Value, CStr(r.Value)
Next r
.Range("A1").AutoFilter
If Not .AutoFilterMode Then .Range("A1").AutoFilter
For i = 1 To myList.Count
Set ws = Worksheets.Add(xlWBATWorksheet)
Sheets(Sheet1).Select
.Range("A1").AutoFilter field:=4, Criteria1:=myList(i)
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Destination:=wb.Worksheets(1).Range("A1")
Next i
.Range("A1").AutoFilter
End With
Set myList = Nothing
End Sub
|
|