VBA:过滤多列,然后复制+粘贴

VBA: filter multiple columns, then copy+paste

我曾尝试过滤多个列(sheet 数据),然后将过滤后的列复制到另一个 sheet (sheet2),但未成功。 初始情况: headers 在行 4:4

  1. 按字符串“SENR”过滤 A 列
  2. 将 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 范围,然后在您的代码中调用它。