我找到了下面的代码(使用记录宏),但我希望将行1208设置为最后一个活动行。正在我使用列K排序列,其值为行号(下面的代码行):
ActiveSheet.Range("K1:K" & last).Formula = "=row()"
我想在下面的sortby()代码中使用此K范围。我可以使用名为" last"的变量来完成此操作。或者我必须使用"找到lastrow"码?
函数sortby()
Columns("A:D").Select
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("K1:K1208"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range("A1:K1208")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Function
答案 0 :(得分:0)
我通常使用此行来查找最后一个活动行:
LastRow = Sheets(ShtName).UsedRange.Rows.Count
假设您的标题位于第1行,您也不必具体指定行。您可以使用以下代码:
Set ws = Worksheets("Sheet1")
ws.Columns("A:K").Sort Key1:=ws.Range("K2"), Order1:=xlDescending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:= _
xlSortNormal, DataOption2:=xlSortNormal