excel - 按字母顺序对两列进行排序,第一列包含一组重复值,第二列是唯一值

标签 excel vba

如何按以下方式对列进行排序

排序前我的两列

C    Ciks
C    Bsdjnf
C    ACfff
A    Bhdh
A    Apdp
A    Cyay
B    Ayay
B    Cnan
B    Btag

排序后

A    Apdp
A    Bhdh
A    Cyay
B    Ayay
B    Btag
B    Cnan
C    ACfff
C    Bsdjnf
C    Ciks

我一直在使用常见命令,例如 sort multiple columns excel VBA 但是当对第二列进行排序时,这会修改第一列。

最佳答案

对多列进行排序

Option Explicit

Sub SortMultipleColumns()

    Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
    Dim rg As Range: Set rg = ws.Range("A1").CurrentRegion

    With ws.Sort
        .SortFields.Clear
        .SortFields.Add Key:=rg.Columns(1), Order:=xlAscending
        .SortFields.Add Key:=rg.Columns(2), Order:=xlAscending
        .SetRange rg
        .Header = xlNo ' usually you have headers, then use 'xlYes'
        .Apply
    End With

End Sub

关于excel - 按字母顺序对两列进行排序,第一列包含一组重复值,第二列是唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71350213/

相关文章:

vba - 如何优化 Range Set 和 .Value

excel - 如何使用 Excel VBA 在列中文本的开头插入特定值?

mysql - Excel 到 SQL - 非常大的文件

vba - 如何判断文档是否为模板?

Excel VBA 线条颜色/标记线条颜色

vba - VBA 中的错误处理 - 错误继续下一步

vba - 检查数组中的数据是否存在于工作表中

c# - 下载文件时如何设置文件名?

excel - 在 Excel 柱形图上显示条形上方的百分比

excel - 如何编辑此 VBA 代码以接受不同的值?