VBA - сортировка нескольких диапазонов на одном листе по нескольким критериям - PullRequest
0 голосов
/ 05 марта 2019

У меня есть код, предназначенный для сортировки динамических диапазонов. Первое утверждение «С» сортирует правильно, это второе, с которым у меня возникают проблемы. Я не уверен, как правильно определить диапазон, который я хочу отсортировать. С первым оператором «С» я точно знаю, с какой ячейки начать сортировку, A7. Однако из-за динамического характера данных я не знаю точного номера строки, с которой начинается второй набор данных. Поэтому я пытаюсь указать диапазон, который начинается со столбца A в строке с именем financeTopRow, и отсортировать ее до конца этих данных. Вот мой код:

With mainSheet.Range("A7:N" & analyticsBottomRow)
.Cells.Sort Key1:=.Columns("A"), Order1:=xlDescending, _
            Key2:=.Columns("N"), Order2:=xlAscending, _
            Orientation:=xlTopToBottom, Header:=xlYes
End With

With mainSheet.Range(("A" & financeTopRow), "K")
.Cells.Sort Key1:=.Columns("A"), Order1:=xlDescending, _
            Key2:=.Columns("K"), Order2:=xlAscending, _
            Orientation:=xlTopToBottom, Header:=xlNo
End With
...