vba 二维数组转置
时间: 2024-04-21 07:21:00 浏览: 186
在VBA中,可以使用循环和临时变量来实现二维数组的转置。下面是一个示例代码:
```vba
Sub TransposeArray()
Dim arrInput As Variant
Dim arrOutput As Variant
Dim numRows As Integer
Dim numCols As Integer
Dim i As Integer
Dim j As Integer
' 输入的二维数组
arrInput = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9))
' 获取数组的行数和列数
numRows = UBound(arrInput, 1) - LBound(arrInput, 1) + 1
numCols = UBound(arrInput, 2) - LBound(arrInput, 2) + 1
' 初始化输出的二维数组
ReDim arrOutput(1 To numCols, 1 To numRows)
' 转置数组
For i = 1 To numRows
For j = 1 To numCols
arrOutput(j, i) = arrInput(i, j)
Next j
Next i
' 输出转置后的二维数组
For i = 1 To numCols
For j = 1 To numRows
Debug.Print arrOutput(i, j)
Next j
Next i
End Sub
```
上述代码中,我们首先定义了一个输入的二维数组 `arrInput`,然后通过 `UBound` 和 `LBound` 函数获取数组的行数和列数。接着,我们使用 `ReDim` 语句初始化输出的二维数组 `arrOutput`,并使用嵌套的循环将输入数组的元素转置到输出数组中。最后,我们通过循环输出转置后的二维数组。
阅读全文