|
▼ベニー さん:
おじゃまします
>シート1でB列が1の部分だけシート2、B列が2の部分だけシート3
>というように
フィルタオプションの設定を使って同じ番号(数字)だけ抽出コピー
する方法もありますよ
(前提) 1行目は列見出しとします
(Step 1) A列に どんな番号があるか→リストにしておきます
(Step 2) 番号リスト順に「フィルタオプション」かけて別シートに抽出します
Sub Try1()
Dim WS2 As Worksheet
Dim rr As Range, aList As Range, c As Range
Dim n As Long, nSheet As Long
With Worksheets("Sheet1")
Set rr = .Range("A1").CurrentRegion
rr.Columns(1).AdvancedFilter xlFilterCopy, , .Range("BB1"), True
Set aList = .Range("BB1").CurrentRegion
End With
nSheet = 1
For Each c In Intersect(aList, aList.Offset(1))
nSheet = nSheet + 1
n = Worksheets.Count
If nSheet > n Then
Set WS2 = Worksheets.Add(After:=Worksheets(n))
Else
Set WS2 = Worksheets(nSheet)
WS2.UsedRange.ClearContents
End If
rr.AdvancedFilter xlFilterCopy, aList.Resize(2), WS2.Range("A1")
WS2.Name = aList.Item(2).Value '抽出した番号をシート名に
WS2.Columns.AutoFit '列幅 オートフィット
aList.Item(nSheet + 1).Copy aList.Item(2)
Set WS2 = Nothing
Next
aList.Clear
End Sub
|
|