[英]Excel VBA load range into array overflow error
下面的代碼將一個范圍加載到一個數組中:
Dim Data() As Variant
Dim i As Long
Erase Data
i = 2: Do Until Sheets("whatever").Cells(i, 1) = "": i = i + 1: Loop
Sheets("whatever").Activate
Data = Sheets("whatever").Range(Cells(2, 1), Cells(i, 37)).Value
這曾經有效,但從今天開始(一些新數據?)在加載Data
數組的行中給了我運行時錯誤“6”/溢出。
i = 242703 這確實是我要加載的最后一行。 對於一個數組來說,這可以是兩個大的嗎?
如果引用的工作表有錯誤,將觸發錯誤 6(溢出)。
我在一張紙上收到了這個,其中第一列是日期類型,但包含的數字對於法定日期來說太大了。 在工作表上,這些數字顯示為“############.....#”(# 的數量取決於列的寬度)。 excel 錯誤檢查功能未捕獲此類錯誤。
這是我解決的方法:
創建新文件,在其中創建模塊,然后將宏的所有文本復制到新文件的模塊中。 執行此操作后, Runtime Error 6 (Overflow)
錯誤消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.