无法分配给某数组
数组的每个元素都必须具有单独向其分配的值。 此错误具有以下原因和解决方案:
无意中尝试将单个值分配给数组变量,而未指定该值应分配给哪个元素。
若要向数组元素分配单个值,则必须在下标中指定元素。 例如,如果
MyArray
是整数数组,则 表达式MyArray = 5
无效,但以下表达式有效:MyArray(UBound(MyArray)) = 5
您尝试将整个数组分配给另一个数组。
例如,如果
Arr1
是数组,而Arr2
是另一个数组,则以下两个分配都无效:Arr1 = Arr2 ' Invalid assignment. Arr1() = Arr2() ' Invalid assignment.
若要将一个数组分配给另一个数组,请确保分配左侧的数组可调整大小,并且数组的类型匹配。
可将整个数组置于“Variant”中,这将导致单个 variant 变量包含整个数组:
Dim MyArr As Variant MyVar = Arr2()
然后,使用预普通数组相同的下标引用变量中的数组的元素,例如:
MyVar(3) = MyVar(1) + MyVar(5)
有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。