gpt4 book ai didi

vba - 将 Excel 行作为数组传递给自动过滤器

转载 作者:行者123 更新时间:2023-12-04 20:14:21 26 4
gpt4 key购买 nike

在 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

最佳答案

您需要转置该范围以制作一维数组。那么因为变量是一个数组,你不需要 Array()功能:

comp_name_array = Application.Transpose(Range(A1:A5).Value)
ActiveSheet.Range(A1:AC20).AutoFilter Field:=4, Criteria1:=comp_name_array, Operator:=xlFilterValues

关于vba - 将 Excel 行作为数组传递给自动过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31517877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com