您现在的位置是:首页 > Excel技巧>Excel VBA实现多关键字排序

excel排序最多多少关键字排序-Excel VBA实现多关键字排序

发布于2022-04-150人已围观

对于排序问题,恐怕大家都非常熟悉。Excel系统也自带了好多排序的功能。

下面的示例使用Excel VBA来排序,主要用Sort方法。


1 Range对象的Sort方法

使用Range对象的Sort方法对区域进行排序时,同时最多只能指定3个关键字,当需要超过3个关键字对区域进行排序时,可以通过执行多次Sort方法来实现。需要注意的是在排序时应按照各关键字的倒序顺序,例如,如果需要按A→B→C→D的关键字顺序进行排序,则应按D→C→B→A的顺序执行Sort方法。

如有以下工作表数据:

姓名 基础知识 教育学 心理学 教育教学技能 教育法规 总成绩
同学1 27 22 21 26 23 119
同学10 23 30 47 32 26 158
同学11 25 48 48 36 34 191
同学14 23 47 44 36 54 204
同学15 41 30 32 54 34 191
同学16 24 39 36 33 33 165
同学4 33 29 32 23 23 140
同学5 41 47 24 43 36 191
同学6 31 38 47 25 26 167
同学7 21 27 42 43 29 162

需要'按"总成绩"、"基础知识"、"心理学"、"教育学"排序:

Sub sortByKeys()

With Me.Range("A1")

.Sort key1:="教育学", order1:=xlDescending, _

key2:="心理学", order2:=xlDescending, Header:=xlYes

.Sort key1:="总成绩", order1:=xlDescending, _

key2:="基础知识", order2:=xlDescending, Header:=xlYes

End With

End Sub


代码运行效果:

姓名 基础知识 教育学 心理学 教育教学技能 教育法规 总成绩
同学14 23 47 44 36 54 204
同学5 41 47 24 43 36 191
同学15 41 30 32 54 34 191
同学11 25 48 48 36 34 191
同学6 31 38 47 25 26 167
同学16 24 39 36 33 33 165
同学7 21 27 42 43 29 162
同学10 23 30 47 32 26 158
同学4 33 29 32 23 23 140
同学1 27 22 21 26 23 119

上述代码运行后,对应的“排序”对话框(数据→排序):

excel排序最多多少关键字排序

2 Worksheet对象的Sort方法

Sub MoreKeySort()

With ActiveSheet.Sort.SortFields

.Clear

.Add Key:=Range("G1"), SortOn:=xlSortOnValues, Order:=xlDescending

.Add Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending

.Add Key:=Range("C1"), SortOn:=xlSortOnValues, Order:=xlDescending

.Add Key:=Range("D1"), SortOn:=xlSortOnValues, Order:=xlDescending

End With

With ActiveSheet.Sort

.SetRange Me.Range("A1").CurrentRegion '指定排序区域

.Header = xlYes '指定排序区域包含标题

.Apply '应用工作表排序

End With

End Sub


代码运行效果:

姓名 基础知识 教育学 心理学 教育教学技能 教育法规 总成绩
同学14 23 47 44 36 54 204
同学11 25 48 48 36 34 191
同学5 41 47 24 43 36 191
同学15 41 30 32 54 34 191
同学6 31 38 47 25 26 167
同学16 24 39 36 33 33 165
同学7 21 27 42 43 29 162
同学10 23 30 47 32 26 158
同学4 33 29 32 23 23 140
同学1 27 22 21 26 23 119

上述代码运行后,对应的“排序”对话框(数据→排序):

excel排序最多多少关键字排序


相关文章

文章评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

标签云

站长特荐