Excel VBA类型不匹配错误将范围传递给数组

时间:2014-08-11 01:14:27

标签: arrays excel vba type-mismatch

我试图检索工作表中的单元格数组的值(存储为数组而不是简单单元格),但出于某种原因,仍然会遇到运行时错误13类型不匹配。我已经阅读了有关类似问题的帖子,但其中许多似乎与数组错误类型(即NOT Variant类型)或静态大小有关。

以下是调试中发生错误的相关行:

Dim SizeSelection() As Variant
SizeSelection = Workbooks("Wheels.xlsx").Worksheets("Test").Range("B1:W1")

我也尝试过使用

Dim SizeSelection() As Variant
SizeSelection = Array(Workbooks("Wheels.xlsx").Worksheets("Test").Range("B1:W1"))

但仍然得到同样的错误。除了上面提到的两个常见错误,有没有人知道为什么我会遇到类型不匹配?我尝试删除数组并将值存储在常规单元格中,但这没有任何区别。

哦,我应该提一下,我试图检索的数据是在另一个工作簿中(尽管从上面的代码中可以清楚地看到)并且该工作簿已经打开。

谢谢! 麦克

1 个答案:

答案 0 :(得分:6)

Dim SizeSelection() As Variant更改为Dim SizeSelection As Variant,您应该没问题。