【发布时间】:2015-04-28 15:35:44
【问题描述】:
我有几个非常长的数组,需要根据用户操作按字母顺序排序,但为简单起见,我将使用以下示例:
Dim Name as Variant, Street as Variant
Name = array("B", "C", "D", "A", "E")
Street = array("1", "2", "3", "4", "5")
用户点击排序按钮后,Name数组现在有如下顺序
("A", "B", "C", "D", "E")
然后我需要对Street数组进行排序,所以它得到了相应的顺序,即
("4", "1", "2", "3", "5")
在 VBA 中最有效的方法是什么?
请注意:我知道如何在 VBA 中正常对单个数组进行排序,我只是在寻找涉及基于另一个数组对数组进行排序的答案。谢谢。
【问题讨论】:
-
为什么不是二维数组?你如何对一个普通的数组进行排序?你有一些代码吗?如果是这样,请您分享一下吗?
-
在 VBA 中对数组进行排序几乎不是新闻,但既然你问了,我就使用 Chip Pearson 的优秀 qsort 算法,cpearson.com/excel/SortingArrays.aspx