01 Что делает макрос
При создании отчетов Excel для ваших клиентов иногда нужно добавить пару фишек. Один из возможных вариантов — возможность отсортировать диапазоны при использовании двойного щелчка. Это довольно легко при помощи этого макроса.
В этом макросе, мы сначала находим последнюю непустую строку. Затем мы используем номер строки для определения целевого диапазона строк, где нам нужно применить сортировку. С помощью метода сортировки, мы сортируем целевые строки в колонке двойным щелчком. Двойной щелчок включит режим редактирования, который можно отменить, нажав клавишу Esc.
02 Код макроса
Private
Sub
Worksheet_BeforeDoubleClick(
ByVal
Target
As
Range, Cancel
As
Boolean
)
'Шаг 1: Объявляем переменные
Dim
LastRow
As
Long
'Шаг 2: Найти последнюю непустую строку
LastRow = Cells(Rows.Count, 1).
End
(xlUp).Row
'Шаг 3: Сортировка по возрастанию столбца двойным щелчком
Rows(
"2:"
& LastRow).Sort _
Key1:=Cells(6, ActiveCell.Column), _
Order1:=xlAscending
End
Sub
03 Как работает макрос
1. Сначала мы объявляем переменную Long Integer под названием LastRow — держатель номера строки последней непустой строки.
2. На шаге 2 мы фиксируем последнюю непустую строку, начиная с самой последней строки в листе и используя свойство End, чтобы перейти к первой непустой ячейке (эквивалент перейти к ячейке A1048576 и нажать Ctrl + Shift + Стрелка вверх на клавиатуре).
3. Обратите внимание, что вам необходимо изменить номер столбца в этой ячейке на тот, который подходит для набора данных. То есть, если ваша таблица начинается на колонке J, вам нужно будет изменить строку на шаге 2 ячейки (Rows.Count, 10) .END (xlUp) .Row, так как столбец J является десятым столбцом на рабочем листе.
4. На этом шаге мы определяем общий диапазон строк для пользовательских данных.
Имейте в виду, что диапазон строк должен начинаться с первой строки данных (за исключением заголовков) и заканчиваться последней непустой строкой. В этом случае набор данных начинается на строке 2. Таким образом, мы используем метод сортировки по строкам («6:» & LastRow).
04 Как использовать
Для реализации этого макроса, вам нужно скопировать и вставить его в окно кода события Worksheet_BeforeDouble Click. Это обеспечит запуск макроса каждый раз, когда вы дважды щелкните на листе.
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. В окне проекта, найдите свой проект / имя рабочей книги и нажмите на знак плюс рядом с ним, чтобы увидеть все листы.
3. Нажмите на лист, из которого вы хотите вызвать код.
4. Выберите в выпадающем списке вверху слева параметр Worksheet, а в правом выпадающем списке выберите событие BeforeDoubleClick.
5. Введите или вставьте код во вновь созданном модуле.
05 Скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь