Когато разпространявате отчетите си в Excel на клиентите си, често е хубаво да добавите няколко камбани и свирки. Едно от по-лесните подобрения за прилагане е възможността за сортиране при двукратно щракване върху заглавката на колона. Въпреки че това може да звучи сложно, с този макрос е сравнително лесно.
Можете да изтеглите работещ пример за тази техника с двойно щракване в Excel .
Как работи макросът
В този макрос първо намирате последния непразен ред. След това използвате този номер на ред, за да дефинирате целевия диапазон от редове, които трябва да сортирате. С помощта на метода Sort вие сортирате целевите редове по колоната, върху която сте щракнали два пъти.
Частен под работен лист_BeforeDoubleClick(ByVal Target като диапазон, Cancel като Boolean)
„Стъпка 1: Декларирайте вашите променливи
Dim LastRow As Long
„Стъпка 2: Намерете последния непразен ред
Последен ред = клетки(редове.брой, 1).край(xlUp).Ред
„Стъпка 3: Сортирайте възходящо по колона, върху която щракнете двукратно
Редове("6:" & LastRow).Сортиране _
Ключ1:=Клетки(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, така че използвате метода за сортиране на редове(“6:” & LastRow).
Аргументът Key казва на Excel по кой диапазон да сортира. Отново ще искате да сте сигурни, че диапазонът, който използвате, започва с първия ред данни (с изключение на заглавките).
Как да използвате макроса
За да приложите този макрос, трябва да го копирате и поставите в прозореца с код на събитието Worksheet_BeforeDoubleClick. Поставянето на макроса тук му позволява да се изпълнява всеки път, когато щракнете двукратно върху листа:
Активирайте редактора на Visual Basic, като натиснете ALT+F11.
В прозореца на проекта намерете името на вашия проект/работна книга и щракнете върху знака плюс до него, за да видите всички листове.
Щракнете върху листа, от който искате да задействате кода.
В падащото меню Събитие изберете събитието BeforeDoubleClick.
Въведете или поставете кода.