Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 712
Благодарности: 322

Профиль | Отправить PM | Цитировать


Цитата surgutfred:
вариант не обрабатывать событие, если нет введенных условий? »
Не обрабатывать пустой диапазон можно, но тогда не ясно, по какому событию на листе Данные будет убран фильтр.
В коде ниже фильтр убирается, если в А2 вбить значение "Все", пробуйте.
Код: Выделить весь код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim shtObj As Worksheet
    Set shtObj = Sheets.Item(1)
    If Not Intersect(Target, Range("A2").Resize(Range("A2").CurrentRegion.Columns.Item(1).Rows.Count - 1)) Is Nothing And Range("A1").CurrentRegion.Rows.Count > 1 Then
        On Error Resume Next
        shtObj.ShowAllData
        shtObj.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
    End If
    If LCase(Range("A2").Value) = "все" Then shtObj.ShowAllData
    Set shtObj = Nothing
End Sub

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]


Отправлено: 15:05, 21-02-2018 | #6