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

Вход

Регистрация

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

 

= Мир MS Excel/Показать проставленные фильтры - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Показать проставленные фильтры (Макросы/Sub)
Показать проставленные фильтры
ikariya Дата: Пятница, 28.02.2020, 16:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Всем доброго времени суток!
Подскажите (не нашла готовое решение, подозреваю, что без макроса не обойтись), как вывести информацию, в каких колонках Excel проставлен фильтр.
Рабочая таблица широка, как Волга. Глазами просмотреть - запаришься.
(фильтр не по первой строке, если это важно)
Заранее благодарна, счастья, здоровья!
 
Ответить
СообщениеВсем доброго времени суток!
Подскажите (не нашла готовое решение, подозреваю, что без макроса не обойтись), как вывести информацию, в каких колонках Excel проставлен фильтр.
Рабочая таблица широка, как Волга. Глазами просмотреть - запаришься.
(фильтр не по первой строке, если это важно)
Заранее благодарна, счастья, здоровья!

Автор - ikariya
Дата добавления - 28.02.2020 в 16:45
Pelena Дата: Пятница, 28.02.2020, 20:03 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 18606
Репутация: 4219 ±
Замечаний: ±

Excel 2016 & Mac Excel
Здравствуйте.
Как вариант
[vba]
Код
Sub www()
    If ActiveSheet.AutoFilterMode Then
        With ActiveSheet.AutoFilter
            For c = 1 To .Filters.Count
                If ActiveSheet.AutoFilter.Filters(c).On Then Cells(4, c + .Range.Column - 1).Interior.Color = vbCyan Else Cells(4, c + .Range.Column - 1).Interior.Color = xlNone
            Next c
        End With
    End If
End Sub
[/vba]
К сообщению приложен файл: Filter.xlsm(18.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Как вариант
[vba]
Код
Sub www()
    If ActiveSheet.AutoFilterMode Then
        With ActiveSheet.AutoFilter
            For c = 1 To .Filters.Count
                If ActiveSheet.AutoFilter.Filters(c).On Then Cells(4, c + .Range.Column - 1).Interior.Color = vbCyan Else Cells(4, c + .Range.Column - 1).Interior.Color = xlNone
            Next c
        End With
    End If
End Sub
[/vba]

Автор - Pelena
Дата добавления - 28.02.2020 в 20:03
bmv98rus Дата: Пятница, 28.02.2020, 22:47 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3953
Репутация: 732 ±
Замечаний: 0% ±

Excel 2013/2016
Чуть скорректировать
[vba]
Код
Sub www()
    If ActiveSheet.AutoFilterMode Then
        With ActiveSheet.AutoFilter
            For c = 1 To .Filters.Count
                 Cells(.Range.Row, c + .Range.Column - 1).Interior.Color = IIf(.Filters(c).On, vbCyan, xlNone)
            Next c
        End With
    End If
End Sub
[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеЧуть скорректировать
[vba]
Код
Sub www()
    If ActiveSheet.AutoFilterMode Then
        With ActiveSheet.AutoFilter
            For c = 1 To .Filters.Count
                 Cells(.Range.Row, c + .Range.Column - 1).Interior.Color = IIf(.Filters(c).On, vbCyan, xlNone)
            Next c
        End With
    End If
End Sub
[/vba]

Автор - bmv98rus
Дата добавления - 28.02.2020 в 22:47
RAN Дата: Пятница, 28.02.2020, 23:05 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5640
Репутация: 1144 ±
Замечаний: 0% ±

2010
не нашла готовое решение

Куда же готовее?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
не нашла готовое решение

Куда же готовее?

Автор - RAN
Дата добавления - 28.02.2020 в 23:05
bmv98rus Дата: Суббота, 29.02.2020, 09:51 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3953
Репутация: 732 ±
Замечаний: 0% ±

Excel 2013/2016
Куда же готовее?

Вечно коты не доготовят :-)
[vba]
Код
Function IsFiltered(ByRef cell As Range) As Boolean
    On Error Resume Next
    With cell.Parent.AutoFilter
        IsFiltered = .Filters(cell.Column - .Range.Column + 1).On
    End With
End Function
[/vba]
+ CF
К сообщению приложен файл: example1553.xlsm(14.7 Kb)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Куда же готовее?

Вечно коты не доготовят :-)
[vba]
Код
Function IsFiltered(ByRef cell As Range) As Boolean
    On Error Resume Next
    With cell.Parent.AutoFilter
        IsFiltered = .Filters(cell.Column - .Range.Column + 1).On
    End With
End Function
[/vba]
+ CF

Автор - bmv98rus
Дата добавления - 29.02.2020 в 09:51
ikariya Дата: Понедельник, 02.03.2020, 10:32 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Всем спасибо) Доковыряла, чтобы в высплывающем окне номера столбцов отражались, мне так удобнее.
 
Ответить
СообщениеВсем спасибо) Доковыряла, чтобы в высплывающем окне номера столбцов отражались, мне так удобнее.

Автор - ikariya
Дата добавления - 02.03.2020 в 10:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Показать проставленные фильтры (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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