2016-05-13 41 views
0

我一直在嘗試應用一個自動過濾器到我的Excel工作表,我想弄清楚如何只顯示某些標準值。Excel自動篩選條件值設置錯誤?

下面的代碼,許多建議應達到我想要的。

Expression.Range(A1:G1).Autofilter(5, '=Array("value", "value")', xlFilterValues, None, True) 

以下文檔可以在這裏找到: https://msdn.microsoft.com/en-us/library/office/ff193884.aspx

的代碼執行,但它不選擇陣列中所列的標準。當我打開的工作簿,並期待在自定義過濾器它旁邊的平等下拉菜單中顯示該值:

=陣列(「值」,「值」)

那麼,如何去獲得像你一樣選擇並顯示的值將在Excel中手動設置?我似乎找到的唯一解決方案是使用數組函數,但我沒有任何運氣。

+0

我認爲你的文章中的語法有點不合適。嘗試'Expression.Range(「A1:G1」)。自動過濾器5,數組(「值」,「價值」),xlFilterValues,無,真' –

+0

是的,我變得有點懶,並沒有添加引號。 – Temptex

+1

如果它只是2個值,爲什麼不使用'xlAnd'運算符? –

回答

2

這裏是設置Criteria爲數組的一種方式:

Sub qwerty() 
    Dim Expression As Range 

    Set Expression = Range("A1:G1") 
    ary = Array("value1", "value2") 
    Expression.AutoFilter 5, ary, xlFilterValues, None, True 
End Sub 

雖然這工作,我從來沒有做這種方式(我總是命名參數)

+0

非常感謝,我確定我早些時候嘗試過,但是不是傳遞整個數組,而是決定循環訪問數組中沒有工作的每個索引。 – Temptex