我怎样才能sorting通过数据的行?

我有一个macros按特定的列sorting行,问题是我手动设置的行数sorting范围(即A2:A174),每次我添加一个新的行。 我怎样才能改变我的代码,使其只有数据的所有行sorting,所以我不必进入代码,每次添加一个新的行时改变范围。

Sub SortByName() SortByName Macro ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A174") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:H174") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("A1").Select End Sub Sub SortByDate() 

非常感谢您的智慧!

像这样的东西,在A中寻找最后一个单元来标记范围。

 Sub SortByName() Dim ws As Worksheet Dim rng1 As Range Set ws = Sheets("Sheet1") Set rng1 = ws.Range(ws.[a1], Cells(Rows.Count, "A").End(xlUp)) ws.Sort.SortFields.Clear ws.Sort.SortFields.Add Key:=rng1 _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange rng1.Resize(rng1.Rows.Count, 8) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Application.Goto ws.[a1] End Sub