Sub Sample()
With Sheets("Sheet1").Range("A1")
.AutoFilter Field:=1, Criteria1:="田中"
.CurrentRegion.Copy Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End With
End Sub
Sub Sample()
Dim Target As Range
Set Target = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
With Sheets("Sheet1").Range("A1")
.AutoFilter Field:=1, Criteria1:="田中"
.CurrentRegion.Copy Target
End With
Target.Resize(1, 2).Delete Shift:=xlUp
End Sub
Sub Sample()
Dim Target As Range
Set Target = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
With Sheets("Sheet1").Range("A1")
.AutoFilter Field:=1, Criteria1:="田中"
.CurrentRegion.Copy
With Worksheets.Add
.Paste
.Rows(1).Delete
.UsedRange.Copy Target
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End With
End Sub
Sub Sample()
Dim Target As Range
Set Target = Sheets("田中").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
With Sheets("Sheet1").Range("A1")
.AutoFilter Field:=2, Criteria1:="田中"
.CurrentRegion.Copy
With Worksheets.Add
.Paste
.Rows(1).Delete ''タイトル行を削除
.Columns(4).Delete ''[商品]列(D列)を削除
.Columns(2).Delete ''[名前]列(B列)を削除
.UsedRange.Copy Target
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End With
End Sub
Sub Sample()
Dim Target As Range, Member As Variant, i As Long
Member = Array("田中", "鈴木", "山田")
For i = 0 To UBound(Member)
Set Target = Sheets(Member(i)).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
With Sheets("Sheet1").Range("A1")
.AutoFilter Field:=2, Criteria1:=Member(i) ''2列目(B列)を3人の名前で順に絞り込む
.CurrentRegion.Copy
With Worksheets.Add
.Paste
.Rows(1).Delete ''タイトル行を削除
.Columns(4).Delete ''[商品]列(D列)を削除
.Columns(2).Delete ''[名前]列(B列)を削除
.UsedRange.Copy Target
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End With
Next i
End Sub
Sub Sample()
Dim A As Range, B As Range
Range("A1").AutoFilter Field:=1, Criteria1:="土屋"
With ActiveSheet.AutoFilter
Set A = Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
Set B = Range(.Range(1).Offset(1, 0), .Range(.Range.Count))
End With
End Sub
AとBの共有範囲が、目的のセル範囲です。
Sub Sample()
Dim A As Range, B As Range, Target As Range
Range("A1").AutoFilter Field:=1, Criteria1:="土屋"
With ActiveSheet.AutoFilter
Set A = Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
Set B = Range(.Range(1).Offset(1, 0), .Range(.Range.Count))
End With
Set Target = Application.Intersect(A, B)
MsgBox Target.Address
End Sub