2015-07-20 80 views
1

在sheet1中,我有4行的標題爲「Company Name」的值爲「Google」,「Microsoft」,Yahoo「 now in sheet2我需要使用這3個值將Excel行作爲數組傳遞給自動篩選器

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 

回答

1

你需要移調範圍,使一維數組。因爲變量是一個數組,你不需要Array()函數:

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

感謝羅裏,它的工作原理:-) – HSD