在我的列表框中,存储十进制数量,总数存储在文本框
中但问题是我带走的数量是“,”
所以通过添加我的列表框,没有考虑到“,”的左侧值
是什么让我成为一个例子 12,3 + 6,7 + 2,1 = 21以及我想做什么 12,3 + 6,7 +2,1 = 21,1
我已使用此代码
Dim Total As Double
For x = 0 To lstIva.ListCount - 1
total = total + Val (lstIva.List (x))
Next
txtTotal = total
答案 0 :(得分:1)
似乎VBA类型转换不会将.
以外的任何内容识别为小数分隔符。
解决此问题的一种方法是将,
替换为.
,执行总和,然后替换回,
另外,如果有.
个分隔符,请将其删除。
Dim Total As Double
Dim x As Long
For x = 0 To lstIva.ListCount - 1
Total = Total + (Replace$(Replace$(lstIva.List(x), ".", ""), ",", "."))
Next
txttotal = Replace$(Total, ".", ",")