首页 文章

Excel VBA停止自动舍入

提问于
浏览
2

我有价格列,其中价格以3位小数和4位小数显示,例如123.456或123.4357 . 因此,无论小数位数是多少,我希望该值只有两位小数 . 所以我选择列,在VBA我使用Selection.NumberFormat =“0.00”这导致我的舍入值,即当我格式化123.456和123.4357到0.00我得到123.46和123.44但我希望它是123.46和123.43 .

所以只是想知道有没有办法我们可以修改值而不是舍入 . 请给我一些示例 .

先感谢您 .

3 回答

  • 1

    Excel有一个内置函数trunc,它应该可以帮到你 .

    这就是我放在a1:b2中的内容 .

    123.456  =trunc(A1,2)
    123.4357 =trunc(A2,2)
    

    这将显示

    123.456  123.45
    123.4357 123.43
    
  • 4

    您可以将结果视为字符串并提取所需的字符数,如下所示:

    dim a as double dim s as string a = 123.4357 s = MID(a,1,FIND(".",a))&MID(a,FIND(".",a)1,2)

  • 1

    我不相信有一个内置的掩码会在没有舍入的情况下截断,你可以使用另一个包含 =TRUNC(A1, 2) 的列 .

相关问题