Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为VBA中的数据指定筛选按钮?_Vba_Excel - Fatal编程技术网

如何为VBA中的数据指定筛选按钮?

如何为VBA中的数据指定筛选按钮?,vba,excel,Vba,Excel,我搜索了这么多关于这个主题的内容,我通常找到了如何过滤数据(例如),但这不是我的目标 我编写了一个脚本,成功地在现有列的旁边添加了一些新列(包含数据)。“筛选”按钮已在先前存在的列上处于活动状态(请参阅下文) 我想做的只是使用VBA在新列(“res1”和“res2”)上“激活”过滤器按钮。这是我的出发点: 这就是我想要实现的目标: 从选择输出工作表开始: Sheets(out_sheet).Select '# out_sheet is a string 我能做什么?有什么建议吗?要向自动筛

我搜索了这么多关于这个主题的内容,我通常找到了如何过滤数据(例如),但这不是我的目标

我编写了一个脚本,成功地在现有列的旁边添加了一些新列(包含数据)。“筛选”按钮已在先前存在的列上处于活动状态(请参阅下文)

我想做的只是使用VBA在新列(
“res1
”和
“res2”
)上“激活”过滤器按钮。这是我的出发点:

这就是我想要实现的目标:

从选择输出工作表开始:

Sheets(out_sheet).Select '# out_sheet is a string

我能做什么?有什么建议吗?

要向自动筛选添加列,只需删除并重新创建自动筛选即可

通过在执行此操作时录制宏,然后查看生成的VBA,我发现运行此行:

Range("A:E").AutoFilter
…将为列A:E创建自动筛选


再次运行它将删除过滤器。

我尝试过,但可能错过了什么。我是否必须在选择工作表后添加您的行(即我作为示例编写的行)?还有一个问题:由于我不知道有多少行作为输入,我不能使用预定义的字母作为范围的结尾(例如“e”),但我应该自动检索最后一个非空列。行数无关紧要。如果您想将自动筛选应用于
A
G
列的
sheet(out\u sheet)
,那么您需要的唯一一行是:
Sheets(out\u sheet).Range(“A:G”).AutoFilter
Sheets(out\u sheet)。UsedRange.AutoFilter
将对所有有数据的列应用自动筛选功能。谢谢!我没有注意到我在宏之外应用了你的建议,所以它没有启动。