Murali有一个很大的工作表,其中包含各种不同的格式。他想使用条件格式来突出显示包含日期的单元格。但是,他对如何正确设置条件格式感到困惑。

问题在于Excel没有提供返回特定单元格是否包含日期的工作表函数。幸运的是,VBA包含了IsDate这样的功能。这意味着您可以创建一个非常简单的用户定义函数,以根据单元格是否包含日期来返回True或False:

Function MyIsDate(rCell As Range)

MyIsDate = IsDate(rCell)

End Function

然后,您可以在条件格式设置规则中引用此函数,并根据结果调整格式。请记住,如果单元格包含任何日期,则此函数将返回True;否则,该函数将返回True。它不检查特定日期。

如果出于某种原因,您不想使用宏,则可以尝试这种小巧的变通方法:设置依赖于公式结果的条件格式设置规则。您应使用的特定公式如下:

=LEFT(CELL("format",A1))="D"

该公式返回用于单元格的格式代码。 (在这种情况下,单元格为A1。更改此值以反映您实际测试的单元格。)

如果格式代码的第一个字符为D,则公式将返回True。当您将单元格格式化为日期时,Excel使用各种以D开头的格式代码。

注意:

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

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

本技巧(11817)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。