[算表] VBA比對資料數值相同卻不符

看板Office作者 (無止境的無聊)時間6年前 (2019/08/21 16:39), 編輯推噓0(008)
留言8則, 2人參與, 6年前最新討論串1/1
軟體:Excel 版本:2010 附件 https://tinyurl.com/y4fgw4bj 檔案如附件, VBA code: Sub 比對() If Worksheets("耗用").Cells(29, 12) <> Worksheets("MB5Btemp").Cells(27,3) Then MsgBox "不符" End If End Sub 其中 耗用!L29 = 21,394.308 MB5BTemp!C27 = 21394.308 如果在excel中使用=IF(耗用!L29<>MB5BTemp!C27,1,0)將顯示0 顯示數值相符, 但VBA總是跳不符 請各位幫忙看看,謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.138.245 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1566376745.A.89D.html

08/21 16:51, 6年前 , 1F
有可能是浮點數的問題,可以函數round來排除
08/21 16:51, 1F

08/21 16:59, 6年前 , 2F
如果要用round來排除的話,請用worksheetfunction的round
08/21 16:59, 2F

08/21 17:00, 6年前 , 3F
而非用vba內的,因有四捨六入五成雙的規則,特定條件下是
08/21 17:00, 3F

08/21 17:00, 6年前 , 4F
不同於工作表函數的四捨五入
08/21 17:00, 4F

08/21 17:10, 6年前 , 5F
則會判斷為真
08/21 17:10, 5F

08/21 17:10, 6年前 , 6F
08/21 17:10, 6F

08/21 17:11, 6年前 , 7F
而不會執行msgbox
08/21 17:11, 7F

08/21 17:36, 6年前 , 8F
謝謝soyoso哥~
08/21 17:36, 8F
文章代碼(AID): #1TNGCfYT (Office)
文章代碼(AID): #1TNGCfYT (Office)