Excel VBA自定义排序无法正常工作

时间:2018-02-20 07:12:45

标签: excel vba excel-vba sorting

好的,我试图通过参考表在我的分类表上进行自定义排序,这里只是参考表的一小部分

Reference Table

现在,每当我对我的分类表进行排序时,就会变成这个

Classified Table

如你所见,它只排序到一定数量的行(C& J Global Enterprises),其余的按字母顺序排序(这不是我想要的)

这是我的VBA代码

Private Sub WorkSheet_Activate()

Dim MainSheet As Worksheet, RefSheet As Worksheet
Set MainSheet = Worksheets("Classifieds Client Table")
Set RefSheet = Worksheets("RefTable")

Dim RangeOne As Range, RangeTwo As Range
Set RangeOne = MainSheet.Range("A2:A150")
Set RangeTwo = RefSheet.Range("A1:A137")

Dim MainRange As Range
Set MainRange = MainSheet.Range("A2:H150")

Application.AddCustomList ListArray:=RangeTwo
MainSheet.Sort.SortFields.Clear

MainRange.Sort Key1:=MainRange, Header:=xlNo, _
OrderCustom:=Application.CustomListCount + 1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

Application.DeleteCustomList Application.CustomListCount

提前致谢!

1 个答案:

答案 0 :(得分:0)

SortOn不是 Range.Sort 的有效参数。

我怀疑您打算使用 SortMethod

修复此问题(并删除与答案无关的任何无关代码),如果仍然没有按自定义列表排序,我会尝试编辑我的答案并弄明白。

更多信息: