使用vba为数据创建自动筛选器

时间:2017-05-30 15:06:33

标签: excel excel-vba vba

我已经计算出基于动态条件应用过滤器的代码,但我遇到的麻烦是从可能的字段中删除下拉箭头,因为我不希望用户能够更改任何他们。我的第二个问题是如何在单击命令按钮时删除过滤条件,以便重置下一个用户的数据字段。我想要注意Field:=1,_行确实删除了下拉箭头,但仅针对第一个字段。我的代码发布在下面,任何帮助表示赞赏。

Sub test()
Worksheets("Tracker").Range("A1:L1").AutoFilter _
 Field:=1, _
 Criteria1:=Sheets("Start").Range("J2"), _
 VisibleDropDown:=False



'This is supposed to remove the dropdown arrow from the remaining feilds in the sheet, but will not
With Range("A1:L1")
.AutoFilter Field:=1, VisibleDropDown:=False
.AutoFilter Field:=2, VisibleDropDown:=False
.AutoFilter Field:=3, VisibleDropDown:=False
.AutoFilter Field:=4, VisibleDropDown:=False
.AutoFilter Field:=5, VisibleDropDown:=False
.AutoFilter Field:=6, VisibleDropDown:=False
.AutoFilter Field:=7, VisibleDropDown:=False
.AutoFilter Field:=8, VisibleDropDown:=False
.AutoFilter Field:=9, VisibleDropDown:=False
.AutoFilter Field:=10, VisibleDropDown:=False
.AutoFilter Field:=11, VisibleDropDown:=False
.AutoFilter Field:=12, VisibleDropDown:=False

End With

End Sub

1 个答案:

答案 0 :(得分:0)

如果您使用高级过滤器,则您的条件可以在不同的工作表上。您的结果将显示给最终用户,就像常规工作表一样,没有任何迹象表明它已被过滤。

使用高级过滤器,您的条件可以是动态的,也可以对用户隐藏。

只需录制一个宏来执行高级过滤器,将其指定给一个按钮即可离开。 Advanced Filter上有一个很棒的网站。

关键是数据表,标准和您的复制范围都可以在单独的工作表上。

祝你好运!

相关问题