簡體   English   中英

Excel VBA 加載范圍到數組溢出錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM