【发布时间】:2016-07-21 16:22:32
【问题描述】:
我有一个宏设置为在单击按钮时对一系列单元格使用高级过滤器,但我想使用这些过滤值的一列中的一个范围作为另一张工作表上自动过滤器的标准(“研究信息”和“媒体”)。我是一个初学者,无法使用以下代码:
刚刚添加并编辑为提供的 Lowpar 代码。它肯定会携带一个数组,但由于某种原因,唯一被过滤掉的是带有高级过滤器的选项卡中的最后四个条目。这是我目前所拥有的(这次包含第一个选项卡中的代码)
With Sheets("Study Info")
If .FilterMode Then .ShowAllData
Dim y As Integer
y = (Range("CA3").Value) + 2
Range("A12:BP150").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("B2:BP" & y), Unique:=False
End With
With Sheets("Media")
If .FilterMode Then .ShowAllData
Dim frow As Integer
frow = Sheets("Study Info").Range("B" & Rows.Count).End(xlUp).Row
Dim ary() As Variant
Dim i As Integer
Set Rng = Sheets("Study Info").Range("B13:B" & frow)
i = 0
ReDim ary(0)
For Each cell In Rng
ary(i) = cell.Value
i = i + 1
ReDim Preserve ary(i)
Next cell
Sheets("Media").Range("$A$4").AutoFilter _
field:=1, _
Criteria1:=ary, _
Operator:=xlFilterValues
End With
End Sub
【问题讨论】:
-
你需要创建一个数组
-
您过滤的
Sheets("Media").Range("$A$4")应该不止一个单元格。也许Sheets("Media").Range("$A$4").CurrentRegion.AutoFilter _?