0

我有一组从 Hyperion Essbase 中提取的数据,我想在其中添加对这些单元格的规则。我试过条件格式,但我没有得到我想要的。

例如,某些单元格包含0.000or13.5232并且我想要的规则是IF(ROUND(ABS(Cell Value),2)<=0.01,0,Cell Value)

我不确定我的公式是否没有意义,或者我没有正确使用条件格式。我不需要突出显示任何单元格,如果单元格中的数据符合我的公式中的标准,我只想将它们四舍五入。

4

2 回答 2

0

如果您只想更改显示的数字格式,那么应该这样做。

Sub cfrZeroes()
    With Worksheets("sheet2").UsedRange.Cells
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, _
          Formula1:="=ROUND(ABS(" & .Cells(1).Address(0, 0) & "),2)<=0.01"
        .FormatConditions(.FormatConditions.Count).NumberFormat = "\0"
    End With
End Sub

这会将 -0.015 更改为 0.015 看起来像 0,但不会更改基础原始值。

于 2018-06-27T14:34:34.627 回答
0

从您的问题来看,您似乎想使用条件格式来更改数字的格式(对于绝对值(四舍五入到小数点后 2 位)<= 0.01 的数字,它们应该被格式化为小数点后 0 位,即显示为 0)。

这绝对可以通过条件格式来实现(不需要 VBA)。

  1. 选择要应用条件格式的单元格。
  2. 打开条件格式规则管理器,然后创建一个新规则.
  3. 选择使用公式确定要格式化的单元格,输入标识要格式化的单元格的公式(确保避免使用绝对引用)。添加格式规则
  4. 单击格式按钮并选择数字> 0 个小数位( 这里)
  5. 单击 OK 3 次返回到电子表格,您应该会看到按需要格式化的值:最终数据
于 2018-06-27T15:14:38.390 回答