excel-为什么使用“Debug.Print”会导致“溢出”错误?
发布时间:2022-04-08 22:42:35 318
相关标签: # visual-studio-code# phpstorm
我创建了一个函数,将一个范围内的所有单元格相加,如下所示
Function SumTest(rg As Range) As Double
Debug.Print "SumTest..."
Dim s As Double
s = 0 ' ------> Show runtime error "Overflow" at this line
Dim i As Range
For Each i In rg.Cells
s = s + i.Value2
Next i
SumTest = s
End Function
当我在即时窗口中运行该函数时,它会抱怨运行时错误“溢出”,并且在注释“Debug.Print”行后错误消息消失,这非常奇怪。功能正常吗Dbbug.Print
与双变量初始化有关吗?为什么这里会发生溢出(我只是把零赋值给一个变量Double
数据类型)?
新增更多信息:
我在即时窗口测试函数,如下所示:?Sumtest(Range("A1:C1"))
(射程A1:C1
充满了琐碎的测试数据1 2 3
).Excel的版本是Mac上的Office365。
为了简化测试,我使用了另一个更短的程序,如下所示:
Function SumTest2() As Double
Dim s As Double
Debug.Print "SumTest2"
s = 0 ' ---> Still "Overflow" here
SumTest2 = s
End Function
在测试了一些程序后,我认为这可能是Mac上Excel 2016的一个缺陷。似乎一旦你使用Debug.print
则不能将值(0或其他值)赋给具有Double
数据类型(可以是整数、字符串或其他数据类型)再。以下是另一个典型的测试程序:
Sub DoubleTest2()
Dim a As Double
a = 0
Debug.Print a ' when this line appears, next assignment to variable `b` will complain `overflow` error message.
Dim b As Double
b = 100# ' *overflow error message*
Debug.Print b
End Sub
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报