本港台六开奖现场直播 > 香港最快开奖结果直播 >

【Excel VBA】自定义排序的三种方法

更新时间:2018-12-12

标签 自定义 方法 序列 数据源 单元格

第1种办法是系统自带的OrderCustom,长处是代码简洁,缺点是自定义序列有字符长度限度(255个)。

第1种方式代码如下:

如下图所示,A:C列是数据源。

'自定义序列的数目

Application.AddCustomList (rng)

'增加一个自定义序列,该参数除了支撑单元格对象,也支持数组。

现须要根据E列所指定的部分先后顺序,对数据源进行从新排序,如果局部不在指定序列内,则排放在数据源末尾。

n = Application.CustomListCount

Set rng = Range("e2:e" & Cells(Rows.Count, "e").End(xlUp).Row)

第3种方法是只使用字典+数组,借助简单桶排序的技巧,直接对数据在数组中进行排序。优点是效率较高,弊病是会损坏单元格的构造,比如消除公式等。

何谓自定义排序,就是按指定的次序对数据源进行排序呗……

今天咱们再聊下自定义排序……

'删除新增的自定义序列

今一共分享了三种方法。

举个例子。

'当使用自定义排序时,需要将OrderCustom参数设置为指定的序列在自定义列表中的顺序加1

End Sub

第2种措施是字典+数组设置序列号,再利用了辅助列进行排序。优点是不会破坏单元格的形式跟结构,比喻单元格中存在的公式、背景等。

(第1种倡导把持,第2种提议理解,第3种……能懂就懂,不懂先放着吧~)

诸君好,前前期咱们聊了VBA编程跟数据的通例排序…………

排序结果如下图。

Sub FreeSort()

Application.DeleteCustomList n

Dim n&, rng As Range

'使用自定义排序,ordercustom指定应用哪个自定义序列排序。

'eh技能论坛 VBA编程学习与实际 看见星光



友情链接:

Copyright 2018-2021 本港台六开奖现场直播 版权所有,未经授权,禁止转载。