艾伦使用了很多条件格式,几乎总是使用公式来指定格式的条件。最近,他偶然发现自己有#REF!他的条件格式公式之一出​​错。据Allan估计,这是删除公式中引用的单元格行的结果。影响是条件格式不适用于该条件。这使Allan担心,自从最初设置以来,还有其他条件格式实例被破坏了。他想知道是否有任何简单的方法可以检查所有条件格式,以便可以轻松找到这些错误。

最好的方法是使用宏逐步浏览为工作表定义的所有条件格式。下面的宏就是这么做的,寻找任何#REF!公式中的错误。

Sub FindCorruptConditionalFormat()

Dim c As Range     Dim fc As Variant

Selection.SpecialCells(xlCellTypeAllFormatConditions).Select     For Each c In Selection.Cells         For Each fc In c.FormatConditions             If InStr(1, fc.Formula1, "#REF!", _               vbBinaryCompare) > 0 Then                 MsgBox Prompt:=c.Address & ": " _                   & fc.Formula1, Buttons:=vbOKOnly             End If         Next fc     Next c End Sub

如果发现错误,则消息框将同时显示单元格的地址和条件格式设置规则中使用的公式。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11361)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较旧菜单界面找到此技巧的版本: