在Excel VBA中对二维数组进行sorting
美好的一天,
我正在尝试根据第一列的内容对2D数组进行sorting。 我发现这个代码“QuickSortArray”似乎是解决scheme:
sortingVBA中的multidimensional array
虽然我不能让它为我的例子工作。 我的例子是:
Sub test() Dim TestArray1(1 To 4, 0 To 1) As Variant Dim TestArray2 TestArray1(1, 0) = 108 TestArray1(2, 0) = 109 TestArray1(3, 0) = 106 TestArray1(4, 0) = 110 TestArray1(1, 1) = 10 TestArray1(2, 1) = 5 TestArray1(3, 1) = 15 TestArray1(4, 1) = 2 TestArray2 = QuickSortArray(TestArray1, , , 2) Debug.Print TestArray2(2, 1) End Sub
我尝试根据第一列或第二列对数组进行sorting。
错误是:
期望function或variables。
你知道我的例子有什么问题吗?
QuickSortArray
是一个Sub不是一个函数,它不能像这样分配给variables:
TestArray2 = QuickSortArray(TestArray1, , , 2)
为了使你的代码工作,你需要修改它,如下所示:
Sub test() Dim TestArray1(1 To 4, 0 To 1) As Variant Dim TestArray2 TestArray1(1, 0) = 108 TestArray1(2, 0) = 109 TestArray1(3, 0) = 106 TestArray1(4, 0) = 110 TestArray1(1, 1) = 10 TestArray1(2, 1) = 5 TestArray1(3, 1) = 15 TestArray1(4, 1) = 2 TestArray2 = TestArray1 Call QuickSortArray(TestArray2, , , 2) Debug.Print TestArray2(2, 1) End Sub