如何在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 对象执行。
不知道对你有没有用哈哈