[算表] VBA运算问题

楼主: terrylove12 (空洞)   2019-10-07 17:33:04
软件:EXCEL
版本:2010
各位大家好
小弟写了一个日报表统计的小程式
其中一部分CODE如下图
https://i.imgur.com/ZKLIufy.jpg
.cells(r,6)是去计算 某一列的累积值
然后.cells(r,6).offset(0,-2)
也就是.cells(r,4)则是签订的数量
基本上累积值是不能大于签订数的
所以当超过的时候用IF设定一个提醒
但是
出现了一个奇妙的状况
https://i.imgur.com/xmZAqCT.jpg
当我某个列的值 填到累积值跟签订数一样时
居然相扣除没办法等于0
我有检查过该列的各个储存格
填写的数字也都没问题
VBA的DEBUG.PRINT 也显示两者数字相等
惟其相扣除时 居然不等于0 而是一个极小的数字
不知道这个问题出在哪里
还请高手们解惑
谢谢
作者: soyoso (我是耀宗)   2019-10-07 17:36:00
应是浮点数的问题,可工作表函数round来排除补充一下工作表函数是指worksheetfunction.round因为vba内function上也有round可使用,但和工作表函数是不同的(四舍六入五成双)

Links booklink

Contact Us: admin [ a t ] ucptt.com