Excel VBA中的长除法溢出6错误可能的错误

问题描述

在微不足道(imo)上收到“ 运行时错误代码'6'溢出”消息。

我在下面的代码中遇到了奇怪的问题:

Sub StageSetup()
    Dim rLastDaTarow As Range
    Dim lCount As Long: lCount = 0
    Dim lDelta As Long: lDelta = 0
    
1    With Worksheets("Analyzer")
2        Set rLastDaTarow = .Range("A2").End(xlDown)
3        lCount = (rLastDaTarow.Row - 2) / 10
4        lDelta = (rLastDaTarow.Row - 2)
5        lCount = lDelta / 10
6    End With
End Sub

在调试模式下,问题发生在上面的第5行,这很奇怪,因为这是一个简单的长除法。

注意:

  1. 在事实之后,我在上面添加第3行,只是为了查看一行完成后会发生什么。可以,但是我希望它以第5行显示的形式工作,因为此代码的将来mod将涉及在除法发生之前对lCount进行的累加累积。
  2. rLastDaTarow.Row的价值为2510,因此恰好是10的均分值(显而易见)。*

我可以使用循环来模拟除法,但是当简单除法就足够了时,这样做有什么意义呢?

可以看出,lCountlDelta均为Long类型。因此,这本来应该是微不足道的,因为这里不应该进行任何形式的类型转换。

我尝试使用CLng以及&来转换变量和文字(如我在某些线程中所见,但认为这仅适用于非十进制基本表示形式)各种组合都无济于事。我也对第4行进行了一些强制转换,

有人知道这里可能发生什么情况吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)