填充数组时在VBA中键入不匹配错误

时间:2014-04-30 06:01:52

标签: arrays vba excel-vba excel

我定义了这样的数组并直接填充它而不使用任何循环

但它的抛出错误"类型不匹配错误"

Dim battarray() As Integer
x = Sheets("Names").Range("a4")
ReDim battarray(x) As Integer
battarray() = Array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)

有人可以帮我解决这个问题吗

1 个答案:

答案 0 :(得分:3)

删除As Integer的两个实例,并(可选)将其替换为As Variant

Array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)创建一个Variant类型的数组。这不能分配给Integer类型的数组。

请注意,如果您要对battarray的内容进行硬编码,则事先没有必要ReDim对数组进行处理。这就足够了:

Dim battarray() As Variant
battarray() = Array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)