用一行代码隐藏所有自动筛选下拉列表

时间:2019-02-05 12:40:16

标签: excel vba autofilter

我有一个很大的Excel文件,其中包含很多数据。我使用一个验证列表,该列表会通过VBA进行过滤。因为我有52列(一年中的每个星期一次),所以我会在每个标题中自动获得一个小的下拉箭头。

我使用这段代码来手动隐藏每一列的下拉箭头:

Worksheets("Agenda").Range("B6").AutoFilter Field:=1, VisibleDropDown:=False

这很好用,但是当我创建一个for循环以遍历所有52列时,完成代码需要花费大量时间,并且每次有人添加带有验证列表的过滤器时,它就会运行。 / p>

仅使用一行代码,有没有办法做到这一点?是否可以为上述表格中的所有列将VisibleDropDown设置为False?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这很简单...
 -选择所有数据
 -选择“格式化为表格”
 -转到表格功能区
 -将表重命名为“ myBigTable”
 -宏行:ActiveSheet.ListObjects("YourTableName").ShowAutoFilterDropDown = False