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

Excel VBA循环求和结果异常,求助排查原因

Excel VBA循环求和结果异常问题排查与解决

问题场景

使用VBA循环实现日期匹配求和:遍历活动工作表的日期列表区域calrange,在「Offset Transactions」工作表的日期及对应值区域lookuprng中查找匹配日期,将匹配行偏移6列对应的值累加到sum变量中。

问题代码

Set lookuprng = Worksheets("Offset Transactions").Range(Worksheets("Offset Transactions").Cells(startrow, 1), Worksheets("Offset Transactions").Cells(endrow, 7))
Set calrange = ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(67, numcols))

For Each searchdate In calrange
    datematch = Application.CountIf(lookuprng, cell.Value)
    If datematch > 0 Then
        For Each date In lookuprng
            If searchdate.Value = date.Value Then
                sum = sum + date.Offset(0, 6).Value
                MsgBox (date.Offset(0, 6).Value)
            Exit For
            End If
        Next date
    End If
Next searchdate

异常现象

  • 通过MsgBox可确认已读取到8个正确的待求和值
  • 最终sum变量结果异常:实际预期总和为945,623,但返回值为944,047,差值并非整数值缺失
  • 尝试将值存入数组后用Application.Sum求和,结果依旧异常

问题排查与解决

经排查,异常原因是**startrow参数错误**,导致lookuprng的范围定义不符合预期,进而引发循环逻辑异常。修正startrow参数后,求和结果恢复正常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:47:21