- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# EGBT
VBA 的說明
溢位 (錯誤 6)
當指定超出目標的限制時就會發生溢位。此錯誤有以下的起因和解決方法:
此指定的結果、計算或資料型態轉換太大以致於無法在變數型態所允許的範圍內表示出來。
指定值到足夠表示的型態之變數上。
指定給屬性時超出此屬性能接受的範圍。
確定您的指定適合此屬性的範圍。.
當您試圖在計算中使用數字時,數字被強迫轉換成一個整數,但是結果超出了整數的範圍。例如:
Dim x As Long
x = 2000 * 365 ' 錯誤:溢位
要解決該問題,按如下方式輸入數字:
Dim x As Long
x = CLng(2000) * 365
詳細資訊,可選取有疑問的項目並按下 F1 (在Windows中) 或 HELP (在Macintosh上)。
了解看看- Option Explicit
- Sub Ex()
- Dim x As Variant '任何型態
- Range("A1") = 500
- MsgBox TypeName([a1].Value)
- '儲存格數字範圍 都是Double 資料型態
-
- MsgBox TypeName(2000)
- '型態轉換函數 'CLng 'CDbl
- MsgBox TypeName(CLng(2000))
- MsgBox TypeName(CDbl(2000))
- x = CLng(2000) * 365
- MsgBox TypeName(x)
- x = 10 ^ 10
- MsgBox TypeName(x)
- ' x = CLng(x) * 365 '溢位
- x = CDbl(x) * 365
- MsgBox TypeName(x)
-
- End Sub
複製代碼 |
|