Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
13 / 13 / 3
Регистрация: 09.01.2013
Сообщений: 82
1

Макрос с фильтрами

23.07.2020, 15:29. Показов 1600. Ответов 3

Author24 — интернет-сервис помощи студентам
Здравствуйте уважаемые. К сожалению с макросами не особо знаком. Пытался написать макрос через рекордер, но что не получается. В общем проблема такая, есть множество столбцов (более 30) с числовыми данными и на каждом стоит фильтр. Каждый раз приходится включать и выключать фильтр (все кроме пустых). Хотелось бы немного удобства, и сделать макрос, который бы сам это делал при сочетании клавиш и другой макрос который бы удалял этот фильтр. Есть одно но, этот фильтр должен включаться именно в том столбце, на котором стоит выделенная (активная) ячейка. Вникать в дебри VBA уже времени нет (может и желания). Вроде ничего сложного. Я включаю относительные ссылки, включаю запись, выделяю ячейку в первом столбце и ставлю фильтр. Останавливаю запись, вроде макрос должен быть готов. Проверяю, делаю активной ячейку во втором столбце и активирую макрос. Но действия разворачиваются только на первом столбце. В чем проблема? Может кто подсказать? Прикрепил файл. Заранее спасибо!

Код макроса:
Sub Включение_фильтра()
'
' Включение_фильтра Макрос
' Фильтр включись!
'

'
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Range("$A$1:$J$13").AutoFilter Field:=1, Criteria1:="<>"
End Sub
Вложения
Тип файла: xlsx Для киберфорума.xlsx (9.6 Кб, 6 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2020, 15:29
Ответы с готовыми решениями:

Работа с фильтрами
Добрый день уважаемые форумчане! Подскажите пожалуйста как сделать, чтобы в фильтрах выбирали...

Работа с фильтрами
Ребят. такая штука. наверное глупая, но у меня никак не выходит. есть ленточная форма. на неё мы...

Работа с фильтрами
Ранее создавал тему по вычислению свободного места на дисковых шарах. Немножко хочу изменить...

Отчет с фильтрами
Доброго времени суток.. Возникла следующая задача..(к которой я не знаю с какой стороны...

3
2724 / 1701 / 776
Регистрация: 23.03.2015
Сообщений: 5,388
23.07.2020, 16:21 2
PoMa_HaB,
Visual Basic
1
2
3
4
5
6
7
8
Sub MMM()
X = ActiveCell.Column
If Not ActiveSheet.AutoFilterMode Then
         ActiveSheet.Range("$A$1:$J$13").AutoFilter Field:=X, Criteria1:="<>"
 Else
      ActiveSheet.AutoFilterMode = False
End If
End Sub
1
13 / 13 / 3
Регистрация: 09.01.2013
Сообщений: 82
23.07.2020, 16:42  [ТС] 3
Спасибо. Уже что-то. Но я по ходу неправильно объяснил. Фильтры уже стоят на всех столбцах и их не надо удалять, просто сделать фильтр по непустым значениям и вернуть обратно на активном столбце (фильтр по всем).
0
малоболт
1303 / 490 / 208
Регистрация: 30.01.2020
Сообщений: 1,202
23.07.2020, 16:45 4
PoMa_HaB, Или вот такой же вариант, просто чуть более независимый от размеров заполненной области и только включающий фильтр по непустым и возвращающий в данной колонке отображение всех значений:
Включается по Ctrl+q, Выключается по Ctrl+w. Если не надо - можно убрать строку Attribute в каждом макросе.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Включение_фильтра()
Attribute Включение_фильтра.VB_ProcData.VB_Invoke_Func = "q\n14"
'
' Включение_фильтра Макрос
' Фильтр включись!
'
ActiveSheet.Range(Cells(ActiveSheet.Rows.Count, 1).End(-4162), Cells(1, ActiveSheet.Columns.Count).End(-4159)).AutoFilter Field:=ActiveCell.Column, Criteria1:="<>"
End Sub
 
Sub Выключение_фильтра()
Attribute Выключение_фильтра.VB_ProcData.VB_Invoke_Func = "w\n14"
'
' Отключение_фильтра Макрос
' Фильтр отключись!
'
ActiveSheet.Range(Cells(ActiveSheet.Rows.Count, 1).End(-4162), Cells(1, ActiveSheet.Columns.Count).End(-4159)).AutoFilter Field:=ActiveCell.Column
End Sub
0
23.07.2020, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2020, 16:45
Помогаю со студенческими работами здесь

Форма с фильтрами
Есть таблица с множеством столбцов. Иногда используются самые разные фильтры. Но есть несколько...

Календарь с фильтрами
Есть календарь на javascript. Есть две кнопки: 1. Выбор мероприятия 2. Название теплохода....

Работа с фильтрами
Не подскажите,как 1. делать фильтр &quot;исключить&quot; : &quot;Изменить фильтр&quot;-(вводим, что если в опред.поле...

Не могу разобраться с фильтрами
Поиск в базе данных. Примените расширенный фильтр, в форме «Студенты - сессия», выполните поиск в...

Внимание, засада с CAN фильтрами!
Отлаживал намедни устройство общающееся с собратьями по шине CAN. Вылезла проблема, при прямой...

Работа с фильтрами VBA
Суть кейса: Есть две книги. Одна книга пустая в ней листы от А до Я. В другой книге лист с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru