powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Полезный Макрос: быстрый автофильтр
8 сообщений из 8, страница 1 из 1
Полезный Макрос: быстрый автофильтр
    #35844143
ilya_nsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, есть большая таблица с повторяющимися данными в колонках. Колонки чередуются то с числовыми данными, то с тектовыми, то с датами. Пример во вложенном файле.
Задача быстро выделить по фильтру строки содержащие одинаковые значения по какой либо из колонок. Можно использовать "Автофильтр", но я решил написать макрос который делает подобное.
Т.е. тыкаемсы в любую ячейку таблицы. Жмем Ctrl+a — работает Макрос — выделяются все строки с данными равными исходной ячейки.
Столкнулся с проблемой в числовых колонках, когда формат ячеек "Общий" и когда "Числовой" с разделителем групп разрядов. Текст Макроса привожу ниже. Помогите доработать, Please...

Sub Select_Name()

' Сочетание клавиш: Ctrl+a

Dim MyZn, MyFormat
MyFormat = Selection.NumberFormat
MyZn = Format(Selection, MyFormat)
Selection.AutoFilter Field:=Selection.Column, Criteria1:=MyZn, Operator:= _
xlAnd
Selection.End(xlUp).Select
End Sub

Кроме того, оказалось что в региональных настройках необходимо заменить разделитель целой и дробной части на "." (вместо ","), иначе "Числовые" данные вообще не фильтруются.
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35844569
VLA91MIR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у кого точки, у кого запятые, в настройках можно установитьтип разделителя.
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35849353
ilya_nsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так что? 46 человек прочитало и ни у кого никаких идей?
Господа, нюанс в задачке то интересный. Кто-то же знает как надо!
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35879120
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый добрый "Replace"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Option Explicit
Dim rng As Range
Sub Select_Name()
'
' Select_Name Макрос
' Макрос записан 20.02.2009 (Rus)
'
' Сочетание клавиш: Ctrl+a
'

    Dim MyZn, MyFormat$
    Set rng = Selection
    MyFormat = Selection.NumberFormat
    If MyFormat = "#,##0.00" Or MyFormat = "0.00" Then
        MyZn = Replace(Replace(Selection.Text, ",", "."), " ", ",")
    Else
        MyZn = Format(Selection, MyFormat)
    End If
    Selection.AutoFilter Field:=Selection.Column, Criteria1:=MyZn
    Selection.End(xlUp).Select
End Sub
Sub Show_All()
'
' Show_All Макрос
' Макрос записан 20.02.2009 (Rus)
'
' Сочетание клавиш: Ctrl+s
'
    Selection.AutoFilter Field:=Selection.Column
    On Error Resume Next
    rng.Select
End Sub
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35879640
Фотография Папа Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilya_nskТак что? 46 человек прочитало и ни у кого никаких идей?
Господа, нюанс в задачке то интересный. Кто-то же знает как надо!

Интересный подход. Повторять ВСТРОЕННУЮ функциональность на VBA.

В Excel есть автофильтр по значению активной ячейки. Есть очистка автофильтра.

В более ранних версиях не помню, но прекрасно работает на 2003 и 2007.

Доступ быстрый через меню. Даже мышки не надо.

Вот чать моего быстрого меню. Две крайние "леечки" и обеспечивают эту функциональность.
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35879678
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 2000 удобно...ну, если на встроенные горячие клавиши не вешать

только я бы использовал как инструмент расширенный фильтр. работал бы с выделенным диапазоном по выделенной ячейке...
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35879694
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
офф:
1) можно ли макрос привязать к сочетанию не начинающемуся с ctrl???
хотелось бы shift+ctrl+"что-то"
2) как это сделать
...
Рейтинг: 0 / 0
Полезный Макрос: быстрый автофильтр
    #35879971
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBофф:
1) можно ли макрос привязать к сочетанию не начинающемуся с ctrl???
хотелось бы shift+ctrl+"что-то"
2) как это сделать
Написать макрос, например MyMacro()
На панели Visual Basic нажать кнопку "Выполнить" или просто нажать Alt-F8.
Выбрать макрос из списка и нажать "Параметры"
Зажать Shift и нажать, например, Z. Будет отображено сочетание Ctrl+Shift+Z
Нажать Ok

Сочетание можно назначить и с помощью OnKey:
Application.OnKey "+^Z", "MyMacro"
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Полезный Макрос: быстрый автофильтр
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]