VBA:过滤多列,然后复制+粘贴
VBA: filter multiple columns, then copy+paste
我曾尝试过滤多个列(sheet 数据),然后将过滤后的列复制到另一个 sheet (sheet2),但未成功。
初始情况:
headers 在行 4:4
- 按字符串“SENR”过滤 A 列
- 将 B 列的唯一条目复制到另一个 sheet。
到目前为止我取得了什么成就?
我能够使用以下代码实现第 2 点:
Sub CreateUniqueList()
Dim LastRow As Long
Sheets("data").Select
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
ActiveSheet.Range("B5:B" & LastRow).AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Sheets("sheet2").Range("A1"), _
Unique:=True
End Sub
但是,我没有根据第1点)先管理过滤列A。
这里有人有想法吗?
Sub CreateUniqueList()
Dim LastRow As Long
Sheets("data").Select
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
ActiveSheet.Range("A:B").AutoFilter Field:=1, Criteria1:="SENR"
Range("B5:B" & LastRow).Copy (Sheets("Sheet2").Range("A1"))
End Sub
它不知道您要按“SENR”过滤。您需要将该值添加到 Criteria 范围,然后在您的代码中调用它。
我曾尝试过滤多个列(sheet 数据),然后将过滤后的列复制到另一个 sheet (sheet2),但未成功。 初始情况: headers 在行 4:4
- 按字符串“SENR”过滤 A 列
- 将 B 列的唯一条目复制到另一个 sheet。
到目前为止我取得了什么成就? 我能够使用以下代码实现第 2 点:
Sub CreateUniqueList()
Dim LastRow As Long
Sheets("data").Select
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
ActiveSheet.Range("B5:B" & LastRow).AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Sheets("sheet2").Range("A1"), _
Unique:=True
End Sub
但是,我没有根据第1点)先管理过滤列A。 这里有人有想法吗?
Sub CreateUniqueList()
Dim LastRow As Long
Sheets("data").Select
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
ActiveSheet.Range("A:B").AutoFilter Field:=1, Criteria1:="SENR"
Range("B5:B" & LastRow).Copy (Sheets("Sheet2").Range("A1"))
End Sub
它不知道您要按“SENR”过滤。您需要将该值添加到 Criteria 范围,然后在您的代码中调用它。