如何从多维 VBA 数组中去除有用的值?

Fel*_*lix 1 vba

函数以 (j,0)(i,0) 形式返回一个 4 维数组。想要将其转换为 (j,i) 形式的二维数组。如何将值 i 移动到 j 旁边绑定的插槽,然后重新调整数组的维度以删除“备用”二维?

Jea*_*ett 5

把你的问题分成两部分:

1.如何将值 i 移动到 j 旁边的槽中

创建一个新的二维数组。循环遍历两个数组,并根据需要将旧的四维数组中的值分配给新的二维数组。然后Erase用旧的四维数组来释放内存。

2.然后重新调整数组的维度以去除“备用”二维?

这是不可能的——或者至少在不擦除数组内容的情况下不可能。您可以使用 删除平面尺寸ReDim,但会擦除数组中包含的所有数据,从而违背您的目的。

这就是为什么我让你在上面的第 1 部分中创建一个新数组的原因。