VBA 二维数组排序
以下是一个示例代码,可以对二维数组进行排序,其中使用了冒泡排序。
Sub Sort2DArray()
Dim myArray(1 To 5, 1 To 2) As Variant
Dim i As Long, j As Long
Dim tempVal As Variant
'初始化数组
myArray(1, 1) = 5
myArray(1, 2) = "Five"
myArray(2, 1) = 3
myArray(2, 2) = "Three"
myArray(3, 1) = 2
myArray(3, 2) = "Two"
myArray(4, 1) = 4
myArray(4, 2) = "Four"
myArray(5, 1) = 1
myArray(5, 2) = "One"
'冒泡排序
For i = 1 To UBound(myArray, 1) - 1
For j = 1 To UBound(myArray, 1) - i
If myArray(j, 1) > myArray(j + 1, 1) Then
'交换位置
tempVal = myArray(j, 1)
myArray(j, 1) = myArray(j + 1, 1)
myArray(j + 1, 1) = tempVal
tempVal = myArray(j, 2)
myArray(j, 2) = myArray(j + 1, 2)
myArray(j + 1, 2) = tempVal
End If
Next j
Next i
'输出排序结果
For i = 1 To UBound(myArray, 1)
Debug.Print myArray(i, 1) & " " & myArray(i, 2)
Next i
End Sub
在上面的代码中,我们定义了一个 5x2 的二维数组,然后使用冒泡排序对第一列进行排序,同时保持第二列与第一列的对应关系。排序完成后,我们输出排序结果,即第一列和第二列的值。
你可以根据自己的需求修改代码中的数组大小和排序方法。
原文地址: https://www.cveoy.top/t/topic/wKx 著作权归作者所有。请勿转载和采集!