看板 Office 關於我們 聯絡資訊
軟體: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
soyoso: 有可能是浮點數的問題,可以函數round來排除 08/21 16:51
soyoso: 如果要用round來排除的話,請用worksheetfunction的round 08/21 16:59
soyoso: 而非用vba內的,因有四捨六入五成雙的規則,特定條件下是 08/21 17:00
soyoso: 不同於工作表函數的四捨五入 08/21 17:00
soyoso: 測試,如 https://i.imgur.com/kRytmnh.jpg 則會判斷為真 08/21 17:10
soyoso: 假 08/21 17:10
soyoso: 而不會執行msgbox 08/21 17:11
playbird: 謝謝soyoso哥~ 08/21 17:36