工作表中的单元格可以包含值,也可以包含公式。有时,您可能希望通过为这些单元格上色来突出显示工作表中包含公式的所有单元格。有几种方法可以解决此问题。如果您不需要经常进行突出显示,则最好使用手动方法。

请按照下列步骤操作:

。按F5或Ctrl + G。 Excel将显示“转到”对话框。

。单击特殊。 Excel将显示“转到特殊”对话框。 (请参见图1。)

。选择公式单选按钮。

。单击确定。

此时,将选中工作表中包含公式的每个单元格,您可以为这些单元格添加颜色或根据需要设置其格式。如果需要,可以通过使用如下所示的宏来使这种方法自动化:

Sub ColorFormulas()

ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23).Select     With Selection.Interior         .ColorIndex = 6         .Pattern = xlSolid     End With End Sub

您可以根据需要多次运行此宏,以突出显示包含公式的各个单元格。唯一的问题是,如果从以前突出显示的单元格中删除了公式,则突出显示将保留;它不会自动删除。在这种情况下,必须采用另一种宏观方法。运行宏之前,此宏将作用于您选择的一系列单元格。

Sub ColorFunction()

For Each cell In Selection         If cell.HasFormula Then             With cell.Interior                 .ColorIndex = 6                 .Pattern = xlSolid             End With         Else             cell.Interior.ColorIndex = xlNone         End If     Next cell End Sub

宏检查范围内的每个单元格。如果单元格包含公式,则将其突出显示。如果该单元格不包含公式,则高亮显示将关闭。

另一个可能的解决方案是将用户定义的函数与Excel的条件格式设置功能一起使用。在VBA编辑器中创建以下功能:

Function CellHasFormula(c As Range) As Boolean     CellHasFormula = c.HasFormula End Function

使用此功能后,您可以使用Excel的条件格式设置功能(在ExcelTips中的其他位置详细介绍)来检查公式返回的内容。换句话说,您将设置一个条件格式来检查此公式的结果:

=CellHasFormula(A1)

如果结果为true(单元格包含一个公式),则将应用您的条件格式。

有趣的是,您不需要创建VBA宏来使用条件格式路由。 (有些人天生不喜欢使用宏。)相反,您可以按照以下步骤操作:

。按Ctrl + F3。 Excel将显示“定义名称”对话框。

。在“名称”字段(位于对话框顶部)中,输入一个名称,例如FormulaInCell。

。在“引用到”字段(在对话框底部)中,输入以下内容:

。单击确定。

现在,您可以遵循前面概述的用于设置条件格式的技术。唯一的区别是条件格式应检查以下公式,而不是:

=FormulaInCell

注意:

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

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

本技巧(2766)适用于Microsoft Excel 97、2000、2002和2003。