Доброй ночи! Подскажи как прописать условие: если фильтр не включен не выполнять команду иначе выполнять "Метод ActiveSheet.ShowAllData завершен не верно" Код
Код
Sub gm()
Application.ScreenUpdating = False
ActiveSheet.ShowAllData ' выдает ошибку если фильтр не включен не выполнять
ActiveSheet.Range("$A$8:$CZ$1500").AutoFilter Field:=18, Criteria1:="gm"
End Sub
Sub gm()
On Error Resume Next
If ActiveSheet.ShowAllData = False Then
MsgBox "Тут выполняем действия, если фильтры установлены."
Else
MsgBox "Сбрасываем фильтры."
ActiveSheet.ShowAllData
End If
End Sub
Sub gm()
Application.ScreenUpdating = False
On Error Resume Next
If ActiveSheet.ShowAllData = False Then
GoTo 1
Else
1 ActiveSheet.Range("$A$8:$CZ$1500").AutoFilter Field:=18, Criteria1:="ÃÌ"
End If
Сообщение #5. Я понял логику так: если строка 4 выполняется, то через строку 5 выполняется строка 7, а если строка 4 не выполняется, то через строку 6 выполняется, опять же, строка 7. Таким образом строки 4-6 не нужны. Или я чего-то не понял? Подскажите, плиз.
Я тоже не понял)) Изначально автору было нужно следующее: ПРОВЕРИТЬ - если фильтры установлены, то продолжить выполнение макроса. А в #5 хоть формально проверка и существует, но можно было её и не делать, а сразу писать установку фильтра. Но странным образом автору это помогло))