Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
Excel 当筛选条件可能不总是出现时,使用VBA进行筛选_Excel_Vba - Fatal编程技术网

Excel 当筛选条件可能不总是出现时,使用VBA进行筛选

Excel 当筛选条件可能不总是出现时,使用VBA进行筛选,excel,vba,Excel,Vba,我试图让VBA过滤一个列,以便显示包含4个潜在结果的所有结果 我已经设法让它在过滤3个短语时获得成功(如下面我的代码所示)。但是,第四个选项并不总是在数据中,我运行此报告的某些时候,它将不在列中。目前,当我把这个选项添加到我的代码中时,它突然没有显示任何结果。任何提示或建议都很好 Workbooks("Stock Data.xlsm").Worksheets("Data").Activate Worksheets("Data").Range("A1").AutoFilter Field:=1,

我试图让VBA过滤一个列,以便显示包含4个潜在结果的所有结果

我已经设法让它在过滤3个短语时获得成功(如下面我的代码所示)。但是,第四个选项并不总是在数据中,我运行此报告的某些时候,它将不在列中。目前,当我把这个选项添加到我的代码中时,它突然没有显示任何结果。任何提示或建议都很好

Workbooks("Stock Data.xlsm").Worksheets("Data").Activate
Worksheets("Data").Range("A1").AutoFilter Field:=1, Criteria1:=Array("Apple", "Banana", "Raspberry", "chocolate")
令人恼火的是,它适用于我最初的3个选项,而仅仅因为第四个选项“巧克力”不在数据中,它就根本不起作用


如果我删除“巧克力”选项,那么我会得到我想要的确切结果,但我不希望每次获得数据时都必须更改它。

要使用
激活
,您需要学习而不是。并添加
,运算符:=xlFilterValues

Workbooks("Stock Data.xlsm").Worksheets("Data").Range("A1").AutoFilter Field:=1, Criteria1:=Array("Apple", "Banana", "Raspberry", "chocolate"), Operator:=xlFilterValues 
如果宏位于
工作簿(“Stock Data.xlsm”)


您是否尝试使用所有参数进行填充,例如,声明要筛选的完整范围,然后选择要筛选的字段?我想知道过滤的范围是否不是所有的连续数据。还有,你想要的是“巧克力”还是“巧克力”?这些是不同的。嗨,西里尔,由于数据的潜在敏感性,我更改了短语,所以就以“巧克力”为例。该过滤器适用于我所有数据的前3个短语,因此我相信所有内容都被提取出来了,也许你可以从中受益
ThisWorkbook.Sheets("Data").Range("A1").AutoFilter Field:=1, Criteria1:=Array("Apple", "Banana", "Raspberry", "chocolate"), Operator:=xlFilterValues