我使用以下方法按多列对数据进行排序。问题是我只希望它按 AX 列中文本的第一个字母排序。
With Worksheets("Master")
With .Range(.Cells(.Range("BorderFirstRow").Row + 1, "A"), _
.Cells(.Range("BorderLastRow").Row - 1, "ZZ"))
.Sort Key1:=.Cells(1, "AX"), Order1:=xlAscending, _
Key2:=.Cells(1, "J"), Order2:=xlAscending, _
Key3:=.Cells(1, "L"), Order3:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlNo
End With
End With
我已经查看了 Range.Sort 方法,但我没有找到允许这样做的 SortMethod 或 XLSortOrder。是否可以使用此方法而不添加另一列来仅拉出左侧第一个字母?
我认为最简单的方法是创建另一列进行排序,使用
Left(cells(i,50).value,1)
从 AX 中获取数据的第一个字母。如果您确实不想创建另一列,您可能需要在 AX 中保存和恢复数据或创建您自己的排序函数。