1
我得到了一個bizzare溢出消息與此代碼錯誤,我不明白爲什麼。 你能幫忙嗎?我在另一個vba模塊中使用完全相同的代碼,它可以工作。VBA:多維陣列初始化溢出錯誤初始化
Dim tab_base As Variant
tab_base= Worksheets("Test").Range("A1:AL1492").Value
感謝,
伊斯梅爾
我得到了一個bizzare溢出消息與此代碼錯誤,我不明白爲什麼。 你能幫忙嗎?我在另一個vba模塊中使用完全相同的代碼,它可以工作。VBA:多維陣列初始化溢出錯誤初始化
Dim tab_base As Variant
tab_base= Worksheets("Test").Range("A1:AL1492").Value
感謝,
伊斯梅爾
您必須在範圍內的一些無效的細胞。我主要懷疑一些格式爲Date
的單元格的值太大或太小。
爲了安全起見並獲取與格式無關的數值,請使用建議的.Value2
。因此,嘗試
tab_base= Worksheets("Test").Range("A1:AL1492").Value2
那麼你得到的數組作爲字符串或數字的一切(日期:號碼)。您可以稍後將數字轉換爲日期,但您也可以在之前檢查錯誤。
Dim d As Date
On Error Resume Next
d = tab_base(i, j)
if Err.Number <> 0 Then ' invalid date, this was a cell causing overflow
PS:檢查例如,如果Err.Number = 6
,這意味着你真的有個約會溢出(THX墊的)
技術上
例如,一些細胞轉換爲日期,這樣的事情之前,該評論僅在'Err.Number = 6' ;-)時有效 –