【问题标题】:Use Range of Advanced Filter Cells as Criteria for AutoFilter on Another Sheet使用高级过滤器单元格的范围作为另一个工作表上自动过滤器的标准
【发布时间】: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 _

标签: excel vba


【解决方案1】:

使用您的范围创建一个名为 ary 的数组,Srow 是 startrow,Frow 是最后一行。

Set rng = Sheets("Sheetname").Range(Tempcol & Srow & ":" & Tempcol & Frow)
        i = 0
        ReDim ary(0)
        For Each cell In rng
        ary(i) = cell.Value
        i = i + 1
        ReDim Preserve ary(i)
        Next cell
        ActiveSheet.Range(Startrow_fil & ":" & Endrow_fil).AutoFilter Field:=1, Criteria1:=ary, Operator:=xlFilterValues

【讨论】:

  • 感谢您的帮助!我仍然有一些问题,但我已经更新了上面的代码。
  • 有什么问题? Sheets("Media").Range("$A$4"),在这里你需要输入你想要过滤的范围,比如 Sheets("Media").Range("A1:" & Lastcell)。目前您正在过滤一个单元格。
  • 我知道现在发生了什么。当我使用 MsgBox 查看数组的值时,看起来它正在获取由于某种原因应该被过滤掉的值。
  • 只需将可见单元格限定符添加到我的范围内。非常感谢您的帮助!
  • 对解决方案表现出一些爱:P,如果你认为它真的有帮助,否则我会回到绘图板
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-20
  • 1970-01-01
相关资源
最近更新 更多