2017-08-07 95 views
0

我想使用數據過濾4列。我有.AutoFilter功能的問題。代碼:VBA中的自動過濾

ActiveSheet.Cells.AutoFilter Field:=16, Criteria1:="Crit_1" 

工作正常列P.但是,當其他語句用於像.Range(「P:R」),而不是.Cells它工作在很多不同的方式。我做了一些嘗試,我認爲這是行中空格的問題,函數沒有正確觸發。結果所有行都被隱藏起來。任何人都可以給我一個解釋這個函數是多麼的可行嗎?我想過濾3列,並檢查是否在第4個是適當的價值。

問候

+0

'AutoFilter'對於使用多個標準來說有點棘手。不建議使用兩個以上的標準。也許設置一個**控制**列('COUNTIFS'或'SUMPRODUCT'可能可以實現您的目標)並從那裏過濾。您總是可以隱藏該列以獲得更好的演示。 – ian0411

回答

0

嘗試以下:

ActiveSheet.Cells.AutoFilter Field:=1, Criteria1:="Crit_1" 'For Row P 
ActiveSheet.Cells.AutoFilter Field:=2, Criteria1:="Crit_1" ' For Row Q 
ActiveSheet.Cells.AutoFilter Field:=3, Criteria1:="Crit_1" ' For Row R 

對於現場部分,你需要給列數的值,所以你的情況P = 1:Q = 2; R = 3