如果標題有多行,並且它也不能分配給特定列,Excel自動過濾器工作不正常。所以我想用VBA宏來過濾。最有效的方法來隱藏出現某個值的所有行
我
Sheet2.Range("A1:A40").Find(what:="Software", _
After:=Cells(4, 1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False _
).EntireRow.Hidden = True
但這樣只會隱藏的行與「軟件」中第一次出現。有沒有辦法使用.find的,或者我必須使用循環?
這是什麼意思,它不適用於多個標題行?如果只突出顯示數據區域和底行,然後點擊過濾按鈕,則只會過濾選定的數據。 –
當隱藏行或列時,我會避免使用Find(),因爲Find()*不會在隱藏的行或列中找到單元格*:這會使您的過程更難以管理。對於非常大的範圍@布魯斯韋恩的建議應該沒問題。 –
@ Scott Craner:我必須糾正自己:事實上,您可以將過濾器放在第三行,第四行或更低行的列中,但只有在頭部單元未合併時纔可以。你不能把過濾器放在單獨的非相鄰的列上。好,但是,你不必選擇「最後一行」 - 誰可以說,哪一個可能(來)? ;-) @ Tim Williams:是的,我知道這件事,但要求的目的不受此限制的影響。該腳本將在進行後續過濾之前取消隱藏所有行。 – Robbit