Я пытаюсь отсортировать данные по неизвестному диапазону. Когда я пытаюсь выполнить сортировку по двум ключам, у меня не получается метод сортировки по диапазонному классу
Option Explicit
Sub PostReview()
Dim tWb As ThisWorkbook, ws As Worksheet
Dim Lastrow As Integer, LastCol As Integer
Dim I As Integer, j As Integer
Dim rng As Range, rng2 As Range
Set ws = Worksheets("TR Query")
'Sort by Portfolio & Audit Date
Worksheets("TR Query").Activate
Lastrow = Cells(Rows.Count, 2).End(xlUp).Row
With ws
.Range("B1:B" & Lastrow).Copy
.Range("N:N").PasteSpecial (xlPasteValues)
Application.CutCopyMode = False
Set rng = Worksheets("TR Query").Range("N2:N" & Lastrow)
rng.Value = rng.Value
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Set rng2 = .Range(.Cells(Lastrow, 1), .Cells(Lastrow, LastCol))
With rng2
.Cells.Sort Key1:=.Range("N1"), Order1:=xlAscending, _
Key2:=.Range("L1"), Order2:=xlDescending, _
Orientation:=xlTopToBottom, Header:=xlYes
End With
End With
Я надеюсь, что данные сортируются сначала по столбцу N от A до Z, а затем сортируются по столбцу L из самого нового на самый старый.
ошибка в моем коде здесь:
With rng2
.Cells.Sort Key1:=.Range("N1"), Order1:=xlAscending, _ 'error happens here
Key2:=.Range("L1"), Order2:=xlDescending, _
Orientation:=xlTopToBottom, Header:=xlYes
End With
я не уверен, что я делаю неправильно.