VBA中自动过滤器的可变多重标准

时间:2018-02-08 11:50:26

标签: vba autofilter

我正在寻找使用VBA自动过滤器来更好地对我的数据进行排序。我有大约1000行,每行都有一个唯一的编号,我希望能够将这些数据过滤到我当时需要的ID号。基本上,下面的自动过滤器代码可以完成这5个特定条目的工作,但是有没有办法使它更灵活?

ActiveSheet.Range("$A$13:$Y$1045").AutoFilter Field:=1, Criteria1:=Array( _
        "1776", "1870", "2029", "2051", "2086"), Operator:=xlFilterValues

我使用了以下内容:

ActiveSheet.Range("$A$13:$Y$1045").AutoFilter Field:=1, Criteria1:=Array( _
        TexBox2.Value, TextBox2.Value), Operator:=xlFilterValues

但没有快乐。我是一个新手,如果这是一个巨大的浪费时间,那么巨大的道歉。非常感谢您的任何帮助!

1 个答案:

答案 0 :(得分:1)

我认为你应该更准确一点:

ActiveSheet.Range("$A$13:$Y$1045").AutoFilter Field:=1, Criteria1:=Array( _
    UserForm1.TexBoxt1.Value, UserForm1.TextBox2.Value) _
    , Operator:=xlFilterValues

其中UserForm1是您的用户表单的名称。在运行这段代码之前,请确保没有卸载它(您可以。隐藏它并仍然可以访问控件)。