VBA在一行中填充数组

时间:2016-01-13 08:17:09

标签: arrays vba excel-vba excel

我在与数组及其类型进行斗争。我有一个单独的工作表列A(类型为General),其中填充了整数,例如" 629984"。在VBA中,我声明一个数组,并尝试根据行14lastrow + 13的范围选择直接填充它,如下所示:

ReDim TempID(1 To lastrow + 13, 1 To 1) As Integer
TempID = OppsClosed.Range("A14:A" & lastrow + 13).Value

我收到类型不匹配错误。在OppsClosed.Range("A14:A" & lastrow + 13).Value上进行广告和广告观看我理解类型为Variant/Double A14 trough A13955范围内的每个单元格都填充了整数,例如" 629984"正如您从下图中看到的那样

enter image description here

我的问题是:如何避免使用variant?循环是唯一的方法吗?

1 个答案:

答案 0 :(得分:0)

AFAIK在这种情况下无法避免Varaint和循环。这是应该使用Variants的少数情况之一。

最好尽可能避免使用Variant。在这种情况下,我认为你不能(除了循环,但这会适得其反)

BTW 8781341不适合Interger,你需要Long