[算表] VBA運算問題

看板Office作者 (空洞)時間6年前 (2019/10/07 17:33), 編輯推噓0(004)
留言4則, 1人參與, 6年前最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1570440787.A.113.html

10/07 17:36, 6年前 , 1F
應是浮點數的問題,可工作表函數round來排除
10/07 17:36, 1F

10/07 17:41, 6年前 , 2F
補充一下工作表函數是指worksheetfunction.round
10/07 17:41, 2F

10/07 17:41, 6年前 , 3F
因為vba內function上也有round可使用,但和工作表函數是
10/07 17:41, 3F

10/07 17:42, 6年前 , 4F
不同的(四捨六入五成雙)
10/07 17:42, 4F
文章代碼(AID): #1TcmPJ4J (Office)
文章代碼(AID): #1TcmPJ4J (Office)