Страницы: 1
RSS
Как сбросить все фильтры на всех листах книги Excel?
 
По работе мне часто приходится искать (по Ctrl+H) какие-нибудь данные в книгах Excel, содержащих много листов. Если же искомые данные есть на одном из листов в книге, но скрыты фильтром, то они не попадают в список найденных...  
Подскажите, пожалуйста, как написать макрос, который сбросит все фильтры на всех листах текущей книги?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Или так?  
Sub Макрос1()  
  For i = 1 To Sheets.Count  
     Sheets(i).AutoFilterMode = False  
  Next  
End Sub
 
Спасибо, знатоки!    
Моментально два ответа на один вопрос.  
Теперь придётся выбирать, какой из вариантов лучше...
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Вот так:  
Sub Макрос1()  
  For i = 1 To Sheets.Count  
  Sheets(i).ShowAllData  
  Next  
End Sub  
Предыдущий макрос в прямом смысле сбросит.
 
The_Prist,  
а зачем строка:  
If wsSh.AutoFilterMode Then wsSh.UsedRange.AutoFilter ?  
Разве не достаточно только    
If wsSh.FilterMode Then wsSh.UsedRange.FilterMode = False ?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Не-е-е...  
Я попробовал 2007 у друга на компе и решил, что я лучше на 2003 посижу...
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
А чо он (2007-ой) такой вредный?! У меня всё работает :-)
 
Ну, я и сам уже допёр, что обработчика ошибок не хватает...  
Сделал два варианта:  
 
Sub Reset_All_Sheets_Filters_1()  
  Dim wsSh As Worksheet  
  For Each wsSh In Sheets  
     On Error Resume Next  
     If wsSh.AutoFilterMode Then wsSh.ShowAllData  
  Next  
End Sub  
 
Sub Reset_All_Sheets_Filters_2()  
  Dim i As Integer  
  For i = 1 To Sheets.Count  
     On Error Resume Next  
     Sheets(i).ShowAllData  
  Next  
End Sub  
 
и теперь не могу из них выбрать один (как Буриданов осёл, ей Богу!)
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
{quote}{login=Alex_ST}{date=24.12.2009 05:23}{thema=}{post}и теперь не могу из них выбрать один (как Буриданов осёл, ей Богу!){/post}{/quote}  
По четным одно, по нечётным другое...
 
Ну, я конечно обработчик ошибок-то из цикла выну, хотя цикл-то и не длинный...  
А в один из макросов просто, закрыв глаза, ткну пальцем (в смысле мышкой).
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
{quote}{login=Alex_ST}{date=24.12.2009 05:06}{thema=}{post}Не-е-е...  
Я попробовал 2007 у друга на компе и решил, что я лучше на 2003 посижу...{/post}{/quote}  
=1
Когда я ем,я глух и нем, хитер и быстр, и дьявольски умен.
Страницы: 1
Читают тему
Наверх