求高人帮看下VBA程序“自定义排序”时的错误,困扰一周了

求高人帮看下VBA程序“自定义排序”时的错误,困扰一周了,第1张

答:CustomOrder参数指定对字段进行排序的自定义次序

CustomOrder:=Application.CustomListCount + 1,更改为:

CustomOrder:=Join(arr1, ",")

以上程序也可以用下面代码替代:

Sub CustomSort()

    Dim iListNum As Integer

    Application.AddCustomList listarray:=Worksheets("数据5").Range("B2:B23")

    iListNum = Application.GetCustomListNum(Worksheets("数据5").Range("B2:B23").Value)

    Worksheets("数据6").Range("B1:C22").Sort key1:=Range("C1"), order1:=xlAscending, Header:=xlNo, ordercustom:=iListNum + 1

    Application.DeleteCustomList iListNum

End Sub

如图,有一组数据,既有学生的分数,又有性别,这里排列混乱,男女也混合在一起。

选中全部的数据,如图。

选择【排序与筛选】->【自定义排序】,如图。

先把男女生分开,选择“主要关键字”选择“性别”,也就是先按性别来排序。排列依据,选择“数值”,默认升序就行。

点击确定后看到男女生分开排序了。

再对男女生的数据按成绩排序,而且保持刚才的男女分开。再按第3条,进入“自定义排序”界面。如图,【添加条件】。

按红色框内的示例,选择“次要关键字”为“成绩”,排列依据为“数值”,次序为“升序”,根据自己需要来,如图。

点击【确定】后,就可以看到如图,把男女分开,并且分别按各自的成绩再排序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11835023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存