【发布时间】:2020-03-16 07:33:52
【问题描述】:
我正在有条件地格式化一系列单元格。我想做大于和小于另一个单元格值。我在网上找到了这段代码,可以让我这样做,但我想知道如果条件单元格为空白,是否有办法跳过格式化。
示例:如果值大于“D14”+“E14”,我想将“G14”突出显示为红色。反之亦然。如果“E14”的值为空白,它仍然会变为红色,因为它的行为就像它是零一样。
这是我的代码:
'Format Measured
Dim rg As Range
Dim cond1 As FormatCondition, cond2 As FormatCondition, cond3 As FormatCondition
Set rg = Range("G14", Range("G14").End(xlDown))
'clear any existing conditional formatting
rg.FormatConditions.Delete
'define the rule for each conditional format
Set cond1 = rg.FormatConditions.Add(xlCellValue, xlGreater, "=$D14+$E14+$H14")
Set cond2 = rg.FormatConditions.Add(xlCellValue, xlLess, "=$D14-$F14")
'define the format applied for each conditional format
With cond1
.Font.FontStyle = "Bold"
.Font.Color = vbRed
End With
With cond2
.Font.FontStyle = "Bold"
.Font.Color = vbRed
End With
【问题讨论】:
-
嗯,这里可能有不同的路线。我正在考虑
SpecialCells的思路,或者修改您的公式以包含"<>""" -
那么条件格式是否应该检查
D14或E14是否为空白,或者只是E14? -
只有 E14。我拥有电子表格的方式是在 D14 中进行测量,在 E14 和 F14 中进行容差。有些测量没有公差。
标签: excel vba format conditional-statements