VBA在一列上排序A-Z

时间:2017-07-19 20:48:56

标签: excel vba

如何根据M栏上的升序A-Z对我拥有A-Z的所有行进行排序 我尝试了以下但是它没有想到我可能做错了什么?

Range("A1", Range("Z" & Rows.Count).End(xlUp)).Sort [M1], xlAscending

1 个答案:

答案 0 :(得分:2)

记录一个宏,您可以在其中选择要排序的列。例如,我记录了一个宏,它按升序对列M进行排序:

Sub SortAsc2()

Dim LastRow As Long

LastRow = Cells(Rows.Count, "M").End(xlUp).Row

Columns("M:M").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("M1"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
    .SetRange Range("M1:M" & LastRow)
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

End Sub