Коли ви розповсюджуєте свої звіти Excel своїм клієнтам, часто приємно додати кілька наворотів. Одним із найпростіших удосконалень є можливість сортування при подвійному клацанні заголовка стовпця. Хоча це може здатися складним, з цим макросом це відносно легко.
Ви можете завантажити робочий приклад цієї техніки подвійного клацання в Excel .
Як працює макрос
У цьому макросі спочатку ви знайдете останній непорожній рядок. Потім ви використовуєте цей номер рядка, щоб визначити цільовий діапазон рядків, які потрібно відсортувати. Використовуючи метод Sort, ви сортуєте цільові рядки за стовпцем, який ви двічі клацнули.
Приватний підпорядкований робочий лист_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Крок 1: оголосіть свої змінні
Dim LastRow As Long
«Крок 2: Знайдіть останній непорожній рядок
Останній рядок = клітинки (рядків. Кількість, 1). Кінець (xlUp). Ряд
'Крок 3: Сортуйте за зростанням у стовпці, на якому двічі клацнули
Рядки("6:" і останній рядок). Сортувати _
Key1:=Cells(6, ActiveCell.Column), _
Порядок1:=xlЗа зростанням
Кінець суб
На кроці 1 ви оголошуєте змінну Long Integer під назвою LastRow, щоб утримувати номер рядка останнього непорожнього рядка.
На кроці 2 ви фіксуєте останній непорожній рядок, починаючи з останнього рядка на аркуші й використовуючи властивість End, щоб перейти до першої непорожньої комірки (еквівалентно переходу до клітинки A1048576 і натисканню Ctrl+Shift+стрілка вгору).
Зверніть увагу, що вам потрібно змінити номер стовпця в цій клітинці на такий, який підходить для вашого набору даних. Наприклад, якщо ваша таблиця починається зі стовпця J, вам потрібно змінити оператор на кроці 2 на Cells(Rows.Count, 10).End(xlUp).Row, оскільки стовпець J є 10-м стовпцем на аркуші.
На кроці 3 ви визначаєте загальний діапазон рядків для ваших даних. Майте на увазі, що діапазон рядків має починатися з першого рядка даних (за винятком заголовків) і закінчуватися останнім непорожнім рядком. У цьому випадку ваш набір даних починається з рядка 6, тому ви використовуєте метод Sort для рядків (“6:” & LastRow).
Аргумент Key вказує Excel, за яким діапазоном сортувати. Знову ж таки, вам потрібно переконатися, що діапазон, який ви використовуєте, починається з першого рядка даних (за винятком заголовків).
Як використовувати макрос
Щоб реалізувати цей макрос, вам потрібно скопіювати та вставити його у вікно коду події Worksheet_BeforeDoubleClick. Розміщення макросу тут дозволяє йому запускатися щоразу, коли ви двічі клацаєте аркуш:
Активуйте редактор Visual Basic, натиснувши ALT+F11.
У вікні «Проект» знайдіть назву проекту/книги та клацніть знак «плюс», щоб побачити всі аркуші.
Клацніть на аркуші, з якого потрібно запустити код.
У спадному списку «Подія» виберіть подію BeforeDoubleClick.
Введіть або вставте код.