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