【问题标题】:Automethod of range class failed范围类的自动方法失败
【发布时间】:2015-10-29 11:30:22
【问题描述】:

根据指定单元格的值过滤表格的非常简单的代码:

Sub Button1_Click()

Dim sCriteria As String

sCriteria = "*" & Range("C4").Value & "*"

ActiveSheet.AutoFilterMode = False
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=_sCriteria, Operator:=xlAnd
End Sub

当我运行它时,我得到一个范围类失败错误的自动方法......我无法为我的生活找出原因。

任何帮助将不胜感激!

非常感谢,

拉赫

【问题讨论】:

    标签: vba filter autofilter


    【解决方案1】:
    ActiveSheet.ListObjects("Table1").Range.AutoFilter
    

    我不确定您是否可以单独使用 Range。您可能必须通过使用Range("A1:O500") 或类似的东西来指定您打算应用过滤器的范围(我刚刚给出的范围只是一个示例。)


    编辑:通过简单地删除 Range 部分解决问题,从而使线

       ActiveSheet.ListObjects("Table1").AutoFilter
    

    【讨论】:

    • 非常感谢您的快速回复。我尝试添加一个相关范围,但它什么也没做,当我删除它时,代码突然起作用了!但是...仅当未选择单元格 (C4) 时!
    • 所以你必须在单元格中输入然后选择另一个单元格,然后如果你按下按钮它就可以工作了......太奇怪了。
    • 您可能仍处于“编辑”模式?如果您仍然可以看到插入栏闪烁,我认为代码不起作用,因为文本尚未“验证”,因此代码无法考虑它。
    • 是的,你是对的......我想我可能需要更改它,以便它在输入时运行。感谢您的帮助!
    • 没问题! (如果您不介意,如果您可以通过单击复选标记接受我的帖子作为对您问题的回答,我将不胜感激,因为它会显示您的问题已解决。欢迎使用 StackOverflow!)
    猜你喜欢
    • 1970-01-01
    • 2023-02-02
    • 2010-12-04
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    相关资源
    最近更新 更多