【问题标题】:Autofilter method fails when trying to use an Array of Numeric Values尝试使用数值数组时自动筛选方法失败
【发布时间】:2018-11-09 14:02:29
【问题描述】:

我想遍历一个数值数组以用于 Criteria1 参数并显示过滤结果。但是,使用下面的代码,过滤器不会返回任何内容。 任何人都可以提供任何建议吗?干杯。

Sub test()

    Dim arrNom() As Variant
    Dim i As Integer

    arrNom = Array   ("693.715", "710.875", "722.55", "730.605", "732.75", "732.82")

    For i = LBound(arrNom) To UBound(arrNom)
        arrNom(i) = "=" & arrNom(i)
        Sheet4.Range("A1").AutoFilter _
        Field:=1, _
        Criteria1:=arrNom(i), _ 
        Operator:=xlFilterValues
    Next i

End Sub

【问题讨论】:

  • 只需删除行 arrNom(i) = "=" & arrNom(i) 并尝试...
  • 您打算一次显示一个过滤器吗?或者将所有值应用到过滤器中?如果是前者,那么是的,根据@HA560,摆脱那条线
  • @HA560 感谢您的回复。我设法通过添加通配符来解决它。 arrNom(i) = " * " & arrNom(i) & " * "。我在说明数值时不正确,我正在寻找字符串中的字符串。宏记录器在“...”中添加了整个字符串,我假设我可以在其中添加我需要过滤的值。干杯。

标签: arrays excel vba filter


【解决方案1】:

我设法通过添加通配符来解决它。 arrNom(i) = " * " & arrNom(i) & " * "。
宏记录器在“...”中添加了整个字符串,我假设我可以在其中添加我需要过滤的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多