将单元格值舍入到10的下一个倍数(不仅仅是最接近的10)

时间:2014-09-02 12:49:33

标签: arrays vba excel-vba for-loop excel-2007

我在Sheet2中的单元格H2和H3中使用公式数组(比如说),但是使用VBA编码。 我需要对这些值进行处理,将它们四舍五入到10的下一个倍数。我不希望它们只是向上/向下舍入到最接近的10.而且,H3中的值是负数,所以在技术上&#39四舍五入'到10的下一个负数倍(如果有意义的话)。

IE中。如果H2 = 73,那么我希望将其四舍五入到80并且该值保持在单元格I2中     如果H3 = -54那么我希望将其四舍五入到-60并且这个值保持在单元格I3中(假设这可能意味着时间-54乘以-1然后向上舍入然后将60再次定时为-1)并不完全确定它比我第一次描述的方式更容易。

无论如何,只想知道如何使用VBA编码完成此操作。 Range2我已经理解并为代码排序了。下面的细胞H2和H3的数组公式:

    ActiveSheet.Range("H2").FormulaArray = "=MAX(IF(Range2>0, Range2)"
    ActiveSheet.Range("H3").FormulaArray = "=MAX(IF(Range2<0, Range2)"
    MaxPos = ActiveSheet.Range("H2").Value
    MaxNeg = ActiveSheet.Range("H3").Value

1 个答案:

答案 0 :(得分:2)

据我记得,您需要使用=CEILING(number, 10)功能与ABS()结合使用,并快速检查数字是否为负数。

例如

enter image description here