首页 > 解决方案 > 当变量声明为 Double 时,for 循环中的 VBA 溢出错误

问题描述

我正在学习的课程中遇到 vba 代码问题。当我尝试运行它时出现溢出错误,我不确定问题是什么。

编辑:我在 Windows 机器上使用 Excel,它工作正常,当代码相同时,我的 mac 给我这个错误。

这是代码:


Option Explicit

Sub Prequiz7()

Dim i As Double, j As Double, pig As Double, k As Double

pig = 10: j = 16: i = 0

For i = 1 To 2 Step 0.5

   If (i >= 1.5) Then

      pig = pig + i

   End If

   For k = 1 To 2

      MsgBox pig + k

   Next k

Next i

MsgBox pig & " " & i & " " & j

Do While (j > 10)

   If (j < 12) Then

      Exit Do

   End If

   j = j - 2

Loop

MsgBox j

End Sub

这是错误

“运行时错误:'6'

溢出”

如果我调试它会突出显示 Next k 行

有谁知道为什么会发生此错误,似乎将 k 和 pig 的变量声明为 Double 应该可以防止溢出错误。

如果我去掉 Option Explicit 和 Dim 行,它将显示 2 个消息框而不是一个,并且错误发生在 Next i 行

标签: excelvba

解决方案


似乎是至少自 2019 年 7 月以来一直存在的 Mac 版 Microsoft Excel 错误。

在 Windows PC 上使用 Microsoft Excel 可以正常工作

https://techcommunity.microsoft.com/t5/excel/runtime-error-6-overflow-with-dim-double-macos-catalina-excel/mp/786433

溢出(错误 6)VBA 7.1 - Excel 2019- MAC


推荐阅读