Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Определить состояние фильтра - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Определить состояние фильтра
vzdorny Дата: Четверг, 08.08.2019, 22:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте!
Обнаружил, что некоторые макросы некорректно работают с отфильтрованными таблицами,
в связи с чем появилась такая мысль - а нельзя ли проверить,
есть ли на листе фильтр,
если есть то определить его состояние,
убрать,
а после включить и вернуть его исходное состояние?
Спасибо!
 
Ответить
СообщениеЗдравствуйте!
Обнаружил, что некоторые макросы некорректно работают с отфильтрованными таблицами,
в связи с чем появилась такая мысль - а нельзя ли проверить,
есть ли на листе фильтр,
если есть то определить его состояние,
убрать,
а после включить и вернуть его исходное состояние?
Спасибо!

Автор - vzdorny
Дата добавления - 08.08.2019 в 22:29
InExSu Дата: Четверг, 08.08.2019, 23:52 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!
есть ли на листе фильтр

[vba]
Код


Sub Макрос1()

    Dim sNameCustomView As String
    sNameCustomView = Timer

    With ActiveWorkbook
        .CustomViews.Add ViewName:=sNameCustomView, PrintSettings:=True, _
                         RowColSettings:=True

        Фильтр_Сбросить ActiveSheet

        ' Ваш код

        .CustomViews(sNameCustomView).Show
        .CustomViews(sNameCustomView).Delete
    End With
End Sub

Sub Фильтр_Сбросить( _
       ws As Worksheet)
    With ws
        If .FilterMode Then .ShowAllData
    End With
End Sub
[/vba]


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac

Сообщение отредактировал InExSu - Пятница, 09.08.2019, 00:00
 
Ответить
СообщениеПривет!
есть ли на листе фильтр

[vba]
Код


Sub Макрос1()

    Dim sNameCustomView As String
    sNameCustomView = Timer

    With ActiveWorkbook
        .CustomViews.Add ViewName:=sNameCustomView, PrintSettings:=True, _
                         RowColSettings:=True

        Фильтр_Сбросить ActiveSheet

        ' Ваш код

        .CustomViews(sNameCustomView).Show
        .CustomViews(sNameCustomView).Delete
    End With
End Sub

Sub Фильтр_Сбросить( _
       ws As Worksheet)
    With ws
        If .FilterMode Then .ShowAllData
    End With
End Sub
[/vba]

Автор - InExSu
Дата добавления - 08.08.2019 в 23:52
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!