Как сортировать данные столбца, просто щёлкнув по его заголовку в Excel?
Допустим, у вас есть диапазон данных, и вы хотите отсортировать его по возрастанию или убыванию — просто щёлкнув по любому заголовку столбца, как показано на следующем снимке экрана. Как реализовать такую задачу в Excel?

Сортировка данных по щелчку на заголовке столбца с помощью кода VBA
Сортировка данных по щелчку на заголовке столбца с помощью кода VBA
В Excel для быстрой и удобной сортировки данных обычно используется встроенная функция «Сортировка», но если вы хотите сортировать данные простым щелчком по ячейке — на помощь придёт следующий код VBA.
1. Щёлкните правой кнопкой мыши по ярлыку листа, на котором нужно сортировать данные по щелчку на ячейке, и выберите в контекстном меню команду Просмотреть код. После этого в открывшемся окне Microsoft Visual Basic для приложений скопируйте и вставьте приведённый ниже код в пустой модуль:
Код VBA: сортировка данных по щелчку на ячейке или заголовке столбца:
Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn > LastColumn Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
Set SortRange = Target.CurrentRegion
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub

2. Затем сохраните и закройте окно кода. Теперь при двойном щелчке по любой ячейке или заголовку столбца в пределах диапазона данных столбец будет отсортирован по возрастанию; если щёлкнуть по нему снова, он тут же отсортируется по убыванию.
Другие связанные статьи:
Как изменить значение ячейки, просто щёлкнув по ней?
Как отфильтровать данные одним щелчком по содержимому ячейки в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек