2016-01-13 72 views
0

我在數組及其類型中掙扎。我有一個單獨的工作表A列(類型爲General),填充整數如「629984」。當在VBA,我宣佈一個數組,並嘗試直接基於從14行選擇範圍,以lastrow + 13這樣來填充它:VBA在1行中填充數組

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/DoubleA14低谷A13955範圍內的每個細胞充滿了整數,如「629984」,你可以從圖中看到下面

enter image description here

我的問題是:我怎樣才能避免使用variant ?循環是唯一的方法嗎?

+0

只是爲了澄清,當你說'8781341'時,他們在單獨的列中是單獨的數字嗎? – Gareth

+0

不,因爲你可以看到選擇是低谷1列''A14:A「' – gmeroni

+0

所以他們在單獨的行嗎? – Gareth

回答

0

AFAIK你不能避免Varaint和在這種情況下的循環。這是應用變體的少數案例之一。

如果可以,最好避免使用Variant。在這個可以,我不認爲你可以(除循環,但是這將是適得其反)

而且BTW 8781341不適合的整數,你需要一個長期