Страницы: 1
RSS
Метод ActiveSheet.ShowAllData завершен не верно
 
Доброй ночи!
Подскажи как прописать условие: если фильтр не включен не выполнять команду иначе выполнять
"Метод ActiveSheet.ShowAllData завершен не верно"
Код
Код
Sub gm()
Application.ScreenUpdating = False
ActiveSheet.ShowAllData ' выдает ошибку если фильтр не включен не выполнять
ActiveSheet.Range("$A$8:$CZ$1500").AutoFilter Field:=18, Criteria1:="gm"

End Sub
Изменено: gruny1985 - 16.12.2014 22:11:41
 
Поиск помогает - первая же ссылка.
 
А как прописать, что бы не выход был, а продолжение макроса? Пишет ошибка
If ActiveSheet.ShowAllData = False Then GoTo 1 Else ActiveSheet.ShowAllData
 
Код
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 хоть формально проверка и существует, но можно было её и не делать, а сразу писать установку фильтра. Но странным образом автору это помогло))
Страницы: 1
Наверх