数组的每个元素都必须具有单独向其分配的值。 此错误具有以下原因和解决方案:
- 无意中尝试将单个值分配给数组变量,而未指定该值应分配给哪个元素。 - 若要向数组元素分配单个值,则必须在下标中指定元素。 例如,如果 - 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。