任何人都可以帮助我吗?在我的Excel工作簿阵列打交道时:(“预期阵” ......)EXCEL VBA错误:“编译错误:预期阵列”
我已经得到一个编译错误。
基本上,我有一个“母亲”阵列(二维,变异型)和四个“婴儿”阵列(1D,双型)。被调用的子程序创建公共声明的数组,我的主宏最终用于显示目的。不幸的是,婴儿阵列的最后阶段(给出了“编译错误:预期数组”)。奇怪的是,如果我删除了这个最后的婴儿数组(最后一个 - 按照声明/定义的顺序),倒数第二个婴儿数组开始退出。
这里是我的代码:
Public Mother_Array() as Variant, BabyOne_Array(), BabyTwo_Array(), BabyThree_Array(), BabyFour_Array() as Double 'declare may other variables and arrays, too
Sub MainMacro()
'do stuff
Call SunRaySubRoutine(x, y)
'do stuff
Range("blah") = BabyOne_Array: Range("blahblah") = BabyTwo_Array
Range("blahbloh" = BabyThree_Array: Range("blahblue") = BabyFour_Array
End Sub
Sub SunRaySubRoutine(x,y)
n = x * Sheets("ABC").Range("A1").Value + 1
ReDim Mother_Array(18, n) as Variant, BabyOne_Array(n), BabyTwo_Array(n) as Double
ReDim BabyThree_Array(n), BabyFour_Array(n) as Double
'do stuff
For i = 0 to n
BabyOne_Array(i) = Mother_Array(0,i)
BabyTwo_Array(i) = Mother_Array(2,i)
BabyThree_Array(i) = Mother_Array(4,i)
BabyFour_Array(i) = Mother_Array(6,i)
Next
End Sub
我曾尝试申报所有阵列的变型,但无济于事。我试图给BabyFour_Array()一个不同的名字,但无济于事。
什么是真正奇怪的是,即使我注释掉这使得BabyFour_Array()的一部分,该阵列仍然有每个元素零个值。
什么也有点蹊跷的是,第一个孩子阵列从不掷骰子出来(虽然,第二届一个crapped了一次(一次出来的也许30)
绷带:作为一个临时的解决办法,我只是公开地声明了第五个虚拟数组(没有被填充或重新定义尺寸),第五个数组没有实际使用,除了欺骗系统而没有“编译错误:期望数组”之外的其他数组。
有谁知道是什么原因造成的用Excel VBA问题
谢谢,
:这个 “预期阵列编译错误”?Elias
在你发布的代码中,你会发现错误? –
错误光标出现在SunRaySubRoutine的“BabyFour_Array(n)Double”中 – Elias