我一直在尋找一個解決方案,並找不到任何網上的東西,完全解釋發生了什麼事情。我看了一些其他的帖子,但他們似乎都有所欠缺。自動篩選標準與陣列
當我運行這段代碼時,它完美地工作(因爲它被記錄下來)。
ActiveSheet.Range("$A$1:$AL$1002").AutoFilter Field:=17, Criteria1:=Array(_
"73578", "78759", "78765"), Operator:=xlFilterValues
但是,當我試圖讓它更健壯,它失敗了。我想將Criteria1參數更改爲已存儲的數組。
我試圖讓下面的工作。
ActiveSheet.Range("$A$1:$AL$1002").AutoFilter Field:=17, _
Criteria1:=Array(StoredArray.Values), Operator:=xlFilterValues
我有存儲陣列,我操縱它反正但我還沒有得到任何工作。我也嘗試創建一個字符串,以完全像錄製的宏,但這也不起作用。
Dim StoredArrayString as Variant
StoredArrayString = "73578"", ""78759"", ""78765"
ActiveSheet.Range("$A$1:$AL$1002").AutoFilter Field:=17, _
Criteria1:=StoredArrayString, Operator:=xlFilterValues
感謝您在這裏的幫助我花了很多時間在MSDN上試圖研究這個問題,但找不到解決方案。
很抱歉,如果這是不清楚。我不想使用這種方法。我想使用已經定義的AKA StartingArray是我想要使用的。 – Ben
即使您沒有手動創建該數組,第三行中的語法也適用於您。 'Criteria1:= StoredArray'而不是'Criteria1:= Array(StoredArray.Values)'如果我仍然不明白,請進入更多細節,以便我們提供幫助。 – BerticusMaximus
我仍然遇到以下提及的相同問題。當我使用'Criteria1:= StoredArray'時,我得到它過濾,但只有一個過濾器爲我的數組中的第一個值。我懷疑我可能需要重新定義陣列,這可能是由於尺寸或尺寸。我非常感謝這項工作的幫助,因爲我無法弄清楚爲什麼這樣做。請查看原始文章中的照片,看看如何定義變量StoredArray。 – Ben