[英]Sort 2D array in Excel VBA
再会,
我正在尝试根据第一列的内容对二维数组进行排序。 我找到了“QuickSortArray”的这个代码,这似乎是解决方案:
虽然我不能让它适用于我的例子。 我的例子是:
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
我尝试根据第一列或第二列对数组进行排序。
错误是:
期望函数或变量。
你知道我的例子有什么问题吗?
QuickSortArray
是一个 Sub 而不是一个函数,它不能像这样分配给变量:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.