如何在VB中调用EXCEL的自定义排序功能,以A列为基础做升序排列

如何在VB中调用EXCEL的自定义排序功能,以A列为基础做升序排列,排列时B/C/D.......列跟随A列而改变。排列内容为数字
图片说明
请老师帮忙写下代码,谢谢!

Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:I18")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Columns("A:A").Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1:A18") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:I18")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

https://bbs.csdn.net/topics/390779968

多种方法可实现。比较省事的是利用 Excel 的宏。

1 在 Excel 中记录宏,并保存。通过 VB 调用此宏。

2 在 Excel 中记录宏,将其保存为 VB 代码,通过 Excel 对象执行。

不知道对你有没有用哈哈