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

ListBox中匹配TextBox名称的对应数值求和问题求助

解决ListBox匹配项第三列求和问题

你的代码核心问题是逻辑顺序错误:If判断被放在了For循环外面,而且变量i未初始化就用来访问ListBox列,导致匹配判断完全失效,直接累加了第三列所有值。

修正后的代码如下:

Dim i As Integer
Dim mySum As Double
mySum = 0

For i = 0 To Me.ListBox1.ListCount - 1
    ' 逐行检查第一列是否匹配TextBox1的值且不为空
    If Me.ListBox1.List(i, 0) = Me.TextBox1.Value And Me.ListBox1.List(i, 0) <> "" Then
        mySum = mySum + Me.ListBox1.List(i, 2)
    End If
Next i

Me.TextBox4.Value = Format(mySum, "#,##0.00")
End Sub

关键修正点:

  • 将匹配判断If移入For循环内部,每遍历一行就执行一次条件检查,只累加符合条件的第三列值
  • 使用List(i, 0)代替Column(i, 0):List是按行索引访问(第i行第0列),Column是按列索引访问,这里用List逻辑更清晰
  • 确保循环覆盖ListBox所有行(索引从0到ListCount - 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:32:37