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

时间:2021-04-06 14:11:45

标签: excel vba filtering

我尝试过滤多列(工作表数据),然后将过滤后的列复制到另一个工作表(工作表 2),但未成功。 初始情况: 标题在第 4:4 行

  1. 按字符串“SENR”过滤列 A
  2. 将 B 列的唯一条目复制到另一个工作表中。

到目前为止我取得了什么成就? 我能够使用以下代码实现第 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。 这里有人有想法吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

它不知道您要按“SENR”过滤。您需要将该值添加到 Criteria 范围,然后在代码中调用它。

相关问题