Я хочу отсортировать количество данных в Excel.Он должен переключаться между восходящим / нисходящим при каждом клике.
Я нашел эту проблему решенной в следующем потоке: сортировка по возрастанию / убыванию vba excel .
Но яхочу сделать некоторые изменения в коде.Я хочу отсортировать, используя текущий столбец, в котором я щелкнул (заголовки), я не знаю, возможно ли это, используя только один макрос и отправив ячейку, где я вызываю событие, спасибо заранее.Вот код, который я использую.
Рабочий лист (где я называю Sub)
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("A2:C2")) Is Nothing Then
Call sort_table(Target)
End If
End If
End Sub
sub
Sub sort_by_letters(Order As Range)
Dim dataRange As Range
Dim fieldOrder As Range
Dim xlSort As XlSortOrder
Dim LastRow As Long
With ActiveSheet
Set LastRow = .Cells(.Rows.Count, Order).End(xlUp).Row
End With
If (Order.Value > Range(Column(Order) & CStr(LastRow))) Then
xlSort = xlAscending
Else
xlSort = xlDescending
End If
Set dataRange = Range("A2:C" & LastRow)
Set campoOrden = Order
dataRange.Sort key1:=fieldOrder, order1:=xlSort, Header:=xlYes
End Sub