【发布时间】:2018-02-28 17:59:06
【问题描述】:
我有一个包含数据的工作表。一旦特定列发生变化,我想将此工作表中一列的值复制到另一个工作表,但只复制符合某些条件的行。所以我已经自动过滤了一个范围。这行得通。它只返回匹配过滤器的行。但是从这个过滤范围内,我只需要一列。不知何故,我无法让它发挥作用。
所以我的问题是,我怎样才能只复制过滤范围内的特定列?
到目前为止我的代码(截断):
Me.AutoFilterMode = False
With Me.Range("C4:D103")
.AutoFilter Field:=2, Criteria1:="=Marge Only", Operator:=xlOr, Criteria2:="=Contracting"
.SpecialCells(xlCellTypeVisible).Copy Destination:=ThisWorkbook.Worksheets("Result").Range("B5:B104")
End With
ThisWorkbook.SortResult
On Error Resume Next
Me.AutoFilterMode = False
Me.ShowAllData
On Error GoTo 0
.SpecialCells(xlCellTypeVisible).Copy 部分将太多数据复制到目标工作表。我需要类似的东西:
.Range("A:A").SpecialCells(xlCellTypeVisible).Copy
使用 .Range("A:A") 我的想法是只复制已过滤范围中的 A 列。但这不起作用。
那么您对如何实现这一点有何建议?
【问题讨论】: