You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA执行PriErrCod()时遇运行时错误'6':溢出,求原因及解决建议

运行时错误'6':溢出的原因与解决办法

错误原因

VBA中Integer类型的取值范围是**-32768到32767**,你的循环要从0执行到65535,当变量i递增到32768时,就超出了Integer类型的最大值,直接触发溢出错误。

解决办法

把变量i的类型从Integer改为Long即可。Long类型的取值范围是-2147483648到2147483647,完全覆盖0到65535的循环需求。

修改后的代码如下:

Option Explicit
Private Sub PriErrCod()
    Dim i As Long ' 替换Integer为Long
    Dim e
    Debug.Print "Here are the error codes ..."
    For i = 0 To 65535
        e = Error(i)
        If e <> "Application-defined or object-defined error" Then Debug.Print i & ": " & e
    Next i
End Sub

额外建议

  • 写VBA时优先用Long代替Integer,现在硬件性能足够,没必要纠结这点内存占用,还能避免绝大部分溢出问题。
  • 遇到运行时错误,先对照错误代码查含义,比如错误'6'就是溢出,基本都是变量类型取值范围不够导致的。

内容的提问来源于stack exchange,提问作者HellKat02

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 17:15:27