2016-10-20 5 views
0

я хочу, чтобы отфильтровать более чем на одном листе для одного конкретного пункта, например, «Гарри»Автофильтр с VBA в более листов

Мой макрос не говорит, что я не прав, но ничего не происходит ..

Sub New_Marko_for_selection() 

Worksheets("Sheet53").Range("A1:D4").AutoFilter,Criteria1:="Harry" 

end sub 

с наилучшими пожеланиями

+0

Вам необходимо цикл здесь. Петля должна проходить через требуемый лист. –

+0

Странно, вы подтвердили, что «Гарри» существует в этом диапазоне, и ничего не происходит? Что происходит, когда вы это делаете, 'Worksheets (« Sheet53 »). Range (« A1: D4 »). AutoFilter, Criteria1: =« Harry * »'? –

+0

Если я сделаю это, фильтр не появится, поэтому ничего не произойдет ... – Atlantikdiver

ответ

1

Вот типичный код для применения автофильтра для нескольких листов:

Sub New_Marko_for_selection() 
    Dim sh As Worksheet 

    For Each sh In Sheets(Array("Sheet1", "Sheet3")) 
     sh.Range("$A$1:$D$4").AutoFilter Field:=1, Criteria1:="Harry" 
    Next sh 
End Sub 

Примечание:

  • я указал столбец
  • я список необходимых листов в Array()
+0

Спасибо, что работает! – Atlantikdiver

 Смежные вопросы

  • Нет связанных вопросов^_^