VBA 仅按单元格中的第一个字母对行进行排序

问题描述 投票:0回答:1

我使用以下方法按多列对数据进行排序。问题是我只希望它按 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。是否可以使用此方法而不添加另一列来仅拉出左侧第一个字母?

excel vba sorting methods range
1个回答
0
投票

我认为最简单的方法是创建另一列进行排序,使用

Left(cells(i,50).value,1)
从 AX 中获取数据的第一个字母。如果您确实不想创建另一列,您可能需要在 AX 中保存和恢复数据或创建您自己的排序函数。

© www.soinside.com 2019 - 2024. All rights reserved.