macrosbutton更改filter

我想有button来改变我的Excelfilter。

我用contains=something过滤字段,所以每个button都应该改变一些文本。

buttoncontains=button1 :更改filtercontains=button1buttoncontains=button1

contains=button2 :更改filtercontains=button2

等等..

由于我自己find了答案,所以我把它放在这里以备将来的帮助。

  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 

通过引用单元格中的filtersearchstring,可以使其更容易,如下所示。

 Sub Filter() Dim searchField As String searchField = "=*" & Range("H2") & "*" ActiveSheet.Range("$A$3:$H$18401").AutoFilter Field:=8, Criteria1:= _ searchField, Operator:=xlAnd End Sub 

我会在例如单元格h2中添加一个HLOOKUP,它将由旋转button更改字段F1控制。 在这种情况下,我们有完整的解决scheme

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

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

 Sub Filter() Dim searchField As String searchField = "=*" & Range("H2") & "*" ActiveSheet.Range("$A$3:$H$18401").AutoFilter Field:=8, Criteria1:= _ searchField, Operator:=xlAnd End Sub