Muraliには、さまざまな形式を含む大きなワークシートがあります。彼は、条件付き書式を使用して、日付を含むセルを強調表示したいと考えています。しかし、条件付きフォーマットを正しく設定する方法について、彼は途方に暮れています。

問題は、Excelには、特定のセルに日付が含まれているかどうかを返すワークシート関数がないことです。幸い、VBAにはそのような関数IsDateが含まれています。これは、セルに日付が含まれているかどうかに応じて、TrueまたはFalseを返す非常に単純なユーザー定義関数を作成できることを意味します。

Function MyIsDate(rCell As Range)

MyIsDate = IsDate(rCell)

End Function

次に、この関数を条件付き書式ルールで参照し、結果に基づいて書式を調整できます。セルに日付が含まれている場合、この関数はTrueを返すことに注意してください。特定の日付はチェックしません。

何らかの理由でマクロを使用したくない場合は、この巧妙な回避策を試すことができます。数式の結果に依存する条件付き書式ルールを設定します。使用する必要のある特定の式は次のとおりです。

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

数式は、セルに使用されるフォーマットコードを返します。 (この場合、セルはA1です。実際にテストしているセルを反映するようにこれを変更してください。)

フォーマットコードの最初の文字がDの場合、数式はTrueを返します。 Excelは、セルを日付としてフォーマットするときに、Dで始まるさまざまなフォーマットコードを使用します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11817)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。