excel - 当变量声明为 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 行
解决方案
似乎是至少自 2019 年 7 月以来一直存在的 Mac 版 Microsoft Excel 错误。
在 Windows PC 上使用 Microsoft Excel 可以正常工作
推荐阅读
- c - Leetcode 506:C 中的堆缓冲区溢出问题
- python - Tensorflow 为验证集的进动、召回和准确性提供了错误的值
- reactjs - 延迟加载组件逻辑会降低灯塔性能
- html - 如何使用 asp.net 更改嵌套 html 元素的文本
- python - 使用 rand.int 有一段时间了,看到了意想不到的结果
- javascript - 在发出 POST 请求之前等待来自两个文档的数据
- arrays - 使用 shell 脚本解析 Json 对象
- dax - Dax Power Pivot 累计总开发期维度
- azure-devops - 当门户网站说不需要时,为什么 Azure devops 委派权限要求管理员同意?
- gremlin - 如何在 Gremlin (CosmosDB) 中嵌套和分组结果