Arrays Can';t分配给数组excel

Arrays Can';t分配给数组excel,arrays,excel,vba,Arrays,Excel,Vba,我一直在寻找这个问题的答案。我在编译问题中引用了这个问题的最后一个答案(控制狂) Dim arrMachineVision(10, 4) arrMachineVision = ReDimPreserve(arrMachineVision, machineVisionCount - 1, 4) 上面是我不会编译的代码行,它告诉我这不能分配给数组。我知道在Java中,必须创建一个临时数组,然后复制值,然后将原始数组重新分配给临时数组,然后将该数组设置为null。这是我认为函数正在做的事情,但是在它

我一直在寻找这个问题的答案。我在编译问题中引用了这个问题的最后一个答案(控制狂)

Dim arrMachineVision(10, 4)
arrMachineVision = ReDimPreserve(arrMachineVision, machineVisionCount - 1, 4)
上面是我不会编译的代码行,它告诉我这不能分配给数组。我知道在Java中,必须创建一个临时数组,然后复制值,然后将原始数组重新分配给临时数组,然后将该数组设置为null。这是我认为函数正在做的事情,但是在它完成之后,它不能被分配到原始数组。我想知道我做错了什么


我之所以要使用此函数,是因为我需要调整2d数组中的第一个维度的大小,而普通的redim无法对我执行此操作。

您只能使用redim preserve更改最后一个值。在您发布的链接中的接受答案中,它声明您不能声明具有确切大小的数组,稍后再进行重拨。尝试将数组声明更改为“Dim arrchinevision()”。您还应该指定一个数据类型,因为如果没有它,它将是一个变量。我引用的不是公认的答案,而是另一个实际提供了某种解决方案的答案。我理解。我的意思是查看已被接受的答案,以了解如何正确声明数组。如果要重新定义数组,则需要转置数组
Dim arrchinevision()
然后可以重拨
redim arrchinevision(4,10)
然后可以执行此操作
redim Preserve arrchinevision(4,machinevision count-1)