Как перед закрытием проверить фильтры?
Модератор: Naeel Maqsudov
Уважаемые специалисты, помогите пожалуйста. Как сделать так, чтобы перед закрытием EXCEL файла автоматически запускался бы макрос который проверяет на КАЖДОЙ странице закрываемой книги фильтры и делает ShowAllData. Из всего этого умею только ShowAllData, а как запускать и перебирать страницы не знаю :-) Спасибо!
Учитывая, что в одном листе не может быть больше одного автофильтра, то под страницей наверное подразумевается рабочий лист, тогда :
А если нужно перебрать действительно все листы, то :
Для автоматического запуска макроса перед закрытием рабочей книги используйте событие рабочей книги, а именно :
P.S. Программный текст этого макроса (события) необходимо расположить в соответствующем модуле ThisWorkbook/ЭтаКнига
Код: Выделить всё
For Each iList In Worksheets
MsgBox iList.Name
Next
Код: Выделить всё
For Each iList In Sheets
MsgBox iList.Name
Next
Код: Выделить всё
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
Очень все хорошо объяснили :-) Спасибо! Подскажите еще разок как мне решить проблему с ошибкой, в случае, если на одном из листов фильтр есть, но не включен.
Макрос получился (вернее Вы его написали :-) ) таким:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each iList In Sheets
iList.ShowAllData
Next
MsgBox "Fail kontrollitud!"
End Sub
Макрос получился (вернее Вы его написали :-) ) таким:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each iList In Sheets
iList.ShowAllData
Next
MsgBox "Fail kontrollitud!"
End Sub
Код: Выделить всё
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each iList In Worksheets
If iList.AutoFilterMode = True Then
If iList.FilterMode = True Then
iList.ShowAllData
End If
End If
Next
End Sub
Все отлично работает! Спасибо!