作者terrylove12 (空洞)
看板Office
标题[算表] VBA运算问题
时间Mon Oct 7 17:33:04 2019
软体: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 而是一个极小的数字
不知道这个问题出在哪里
还请高手们解惑
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.69.128.66 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1570440787.A.113.html
1F:→ soyoso: 应是浮点数的问题,可工作表函数round来排除 10/07 17:36
2F:→ soyoso: 补充一下工作表函数是指worksheetfunction.round 10/07 17:41
3F:→ soyoso: 因为vba内function上也有round可使用,但和工作表函数是 10/07 17:41
4F:→ soyoso: 不同的(四舍六入五成双) 10/07 17:42