在sheet1中,我有4行标题为“公司名称”,其值为“Google”,“Microsoft”,Yahoo“ 现在在sheet2中我需要设置一个包含这3个值的过滤器
ActiveSheet.Range(A1:AC20).AutoFilter Field:=4, Criteria1:=Array("Google", "Microsoft","Yahoo"), Operator:=xlFilterValues
但是现在我希望它是动态的,以便我将在sheet1中使用公司名称创建一个数组,并在sheet2中传递此列表以进行过滤。
像
这样的东西comp_name_array = Range(A1:A5)
这将创建包含所有公司名称的数组,然后在
中传递此数组ActiveSheet.Range(A1:AC20).AutoFilter Field:=4, Criteria1:=Array(comp_name_array), Operator:=xlFilterValues
答案 0 :(得分:2)
您需要转置该范围以制作一维数组。因为变量是一个数组,所以你不需要Array()
函数:
comp_name_array = Application.Transpose(Range(A1:A5).Value)
ActiveSheet.Range(A1:AC20).AutoFilter Field:=4, Criteria1:=comp_name_array, Operator:=xlFilterValues