在一列中排序数字/文本

时间:2013-12-13 17:46:01

标签: excel excel-vba vba

我编写了以下代码来对工作簿中的数据进行排序

With gwksSheet
    With .Sort
        .SortFields.Clear
        .SortFields.Add Key:=Columns(glAssetTypeCol), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Columns(glFundCodeCol), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Columns(glOberonCol), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range(Cells(1, 1), Cells(glLastRow, glLastCol))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

在“glOberonCol”栏中,我有数字(例如2561236)&文字(例如2561236R)。当它进行排序时,它会对数字进行排序,然后对文本进行排序。我想对它进行排序,以便得到2561236& 2561236R彼此相邻。我需要做什么。感谢任何帮助。

谢谢,

夏兰。

1 个答案:

答案 0 :(得分:2)

按照以下步骤操作:

  • 创建另一列
  • 添加公式“= TEXT(RC [-1],”###“)”“
  • 复制此值并覆盖旧值,强制Excel将数字视为字符串。
  • 现在您可以使用宏或只使用过滤器按钮。