[算表] 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