Сортировка по возрастанию / убыванию

Класс GenTest является нестатическим классом и поэтому должен быть создан в экземпляре JavaApp1. Если вы выполняете static class GenTest то, что у вас есть, иначе вам нужно создать экземпляр JavaApp1 и создать GenTest в нестационарном методе.

1
задан murdoc98 17 March 2019 в 22:16
поделиться

1 ответ

Сортировать при изменении выбора

Листовой модуль, например Sheet1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range(strHeaders)) Is Nothing Then
            SortTable Target
        End If
    End If
End Sub

Стандартный модуль, например Module1

Public Const strHeaders As String = "A2:C2"

Sub SortTable(Target As Range)

    Dim LuCell As Range         ' Last Used Cell Range
    Dim rngS As Range           ' Sort Range
    Dim xlSort As XlSortOrder   ' Sort Order

    ' In Target Worksheet
    With Target.Worksheet
        ' Calculate last used cell in Target Column.
        Set LuCell = .Cells(.Rows.Count, Target.Column).End(xlUp)
        ' Check if value in first row below Headers in Target Column is greater
        ' than value in Last Used Cell Range.
        If Target.Offset(1) > LuCell Then
            xlSort = xlAscending
        Else
            xlSort = xlDescending
        End If
        ' In Headers Range
        With .Range(strHeaders)
            ' Calculate Sort Range.
            ' Create a reference to Sort Range.
            Set rngS = .Resize(LuCell.Row - .Row + 1)
        End With
    End With
    ' Sort Sort Range.
    rngS.Sort Key1:=Target, Order1:=xlSort, Header:=xlYes

 End Sub
0
ответ дан VBasic2008 17 March 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: