用于更改过滤器的宏按钮

时间:2011-10-13 13:16:54

标签: excel vba excel-2007

我想要按钮来更改我的Excel过滤器。

我使用contains=something过滤我的字段,因此每个按钮都应该更改该文字。

Button1:将过滤器更改为contains=button1

按钮2:将过滤器更改为contains=button2

依旧......

3 个答案:

答案 0 :(得分:3)

自从我找到答案后,我把它放在这里以备将来帮助。

    Sub AI()

    '            sheet range and which field you want to filter and criteria to search
        ActiveSheet.Range("$A$2:$Z$203").AutoFilter Field:=14, Criteria1:="stringtomatch"
    End Sub

答案 1 :(得分:1)

您可以通过引用单元格中的过滤器搜索字符串来使其更容易,如下所示。

Sub Filter()
    Dim searchField As String

    searchField = "=*" & Range("H2") & "*"

    ActiveSheet.Range("$A$3:$H$18401").AutoFilter Field:=8, Criteria1:= _
        searchField, Operator:=xlAnd

End Sub

答案 2 :(得分:0)

我会在例如添加HLOOKUP单元格h2将由旋转按钮改变字段F1控制。在这种情况下,我们有一个完整的解决方案

 =HLOOKUP(h2;h2:h100;F1;0)

这与上面提供的这个宏相结合:

Sub Filter()
     Dim searchField As String

     searchField = "=*" & Range("H2") & "*"

    ActiveSheet.Range("$A$3:$H$18401").AutoFilter Field:=8, Criteria1:= _
        searchField, Operator:=xlAnd

 End Sub