gpt4 book ai didi

arrays - 在 VBA 中将一维数组分配给二维数组

转载 作者:行者123 更新时间:2023-12-04 20:11:40 27 4
gpt4 key购买 nike

我正在寻找在我的 VBA 宏中实现以下功能的方法。我有一个想要动态填充的大小为 (xx,yy) 的二维数组。问题是函数返回值返回一维数组。使用反转大小 (yy, 1) 而不是 (1,yy)。有没有办法使用函数返回的数组动态分配下一行。实现该功能的伪代码如下:

Dim X() As Double
ReDim X(1 to xx, 1 to yy)
Dim i As Long

For i=1 To xx
X(i,)= FunctionReturningArrayOfSize(1 to yy, 1 to 1)
Next i

编辑:为了清楚起见 - 我的结果数组 X 的每一行都是通过执行 FunctionReturningArrayOfSize (在 for 循环中)返回的。

最佳答案

您正在使用 Excel,因此您可以使用 Transpose来自 VBA 的函数。

Transpose 会自动将一维数组转换为二维数组。

Sub Test()

Dim a1D() As Variant
'Assign a 1D array
a1D = Array(1, 2, 3, 4, 5, 6)

Dim a2D As Variant
'Transpose to a 2D array
a2D = Application.WorksheetFunction.Transpose(a1D)

End Sub

关于arrays - 在 VBA 中将一维数组分配给二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40198240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com