Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays vba中如何从数组中获取一维向量_Arrays_Excel_Vba - Fatal编程技术网

Arrays vba中如何从数组中获取一维向量

Arrays vba中如何从数组中获取一维向量,arrays,excel,vba,Arrays,Excel,Vba,有人知道如何从VBA中的一列数组中获取实向量吗? 我已经完成了以下步骤: '' read one column from 2D array Dim ixy() ixy = Application.Index(ts.Vertices, , 1) 一切看起来都很好,直到我想重新划分向量并在末尾添加一个值: ReDim Preserve ixy(LBound(ixy) To UBound(ixy) + 1, 1 To 1) ixy(UBound(ixy)) = ts.Vertices(1, 1)

有人知道如何从VBA中的一列数组中获取实向量吗? 我已经完成了以下步骤:

'' read one column from 2D array
Dim ixy()
ixy = Application.Index(ts.Vertices, , 1)
一切看起来都很好,直到我想重新划分向量并在末尾添加一个值:

ReDim Preserve ixy(LBound(ixy) To UBound(ixy) + 1, 1 To 1)
ixy(UBound(ixy)) = ts.Vertices(1, 1)
这根本不起作用,因为我无法重新定义数组的非最后一个维度。那么,如何通过从数组中读取列来获得向量呢?在局部变量窗口中,变量
ixy
看起来像
+:ixy::Variant(1到32,1到1)
,所以它不是1d数组

我知道如何在循环中遵循这一点,但我只想用最少的代码找到清晰的解决方案。有什么建议吗?

来自备注部分:

如果将Row_num或Column_num设置为0(零),INDEX将分别返回整列或整行的值数组


我想要的是
转置
。第一个
ixy=Application.Index(ts.Vertices,1)
保持不变,只需对其进行转置。多么简单的解决方案
ixy=Application.Transpose(ixy)
非常感谢您的建议!我去掉了参数,但如果我没记错的话,Transpose返回2D数组,而Index(,0)1D数组对于我来说,第一个带零的解决方案不起作用。但第二个很好。我使用Excel 2016,64位,如果需要的话。
ixy=Application.Transpose(ixy)
可以工作,因为
ixy=Application.Transpose(ts.Vertices)
可以转换整个2d数组。第一个应该保持不变:
ixy=Application.Index(ts.Vertices,1)
(不带零)
ixy = Application.Index(ts.Vertices, 0, 1)
ixy = Application.Transpose(ts.Vertices)