Range.DisplayFormat プロパティ (Excel)
指定した範囲の表示設定を表す DisplayFormat オブジェクトを返します。 読み取り専用です。
構文
式。DisplayFormat
expression は Range オブジェクトを表す変数です。
戻り値
DisplayFormat
注釈
DisplayFormat は、次のコードに示すように条件付き書式の影響を受けます。 ActiveSheet のセル A1 に条件付き書式が追加されます。 この書式設定により、セルが太字になり、内部の色が赤に変更され、チェッカー パターンが追加されます。
Public Sub DemonstrateConditionalFormattingAffectsDisplayFormat()
Dim inputArea As Range
Set inputArea = ActiveSheet.Range("A1")
Dim addedFormatCondition As FormatCondition
Set addedFormatCondition = inputArea.FormatConditions.Add(xlExpression, Formula1:="=true")
addedFormatCondition.Font.Bold = True
addedFormatCondition.Interior.Color = XlRgbColor.rgbRed
addedFormatCondition.Interior.Pattern = XlPattern.xlPatternChecker
Debug.Print inputArea.Font.Bold 'False
Debug.Print inputArea.Interior.Color 'XlRgbColor.rgbWhite
Debug.Print inputArea.Interior.Pattern 'XlPattern.xlPatternNone
Debug.Print inputArea.DisplayFormat.Font.Bold 'True
Debug.Print inputArea.DisplayFormat.Interior.Color 'XlRgbColor.rgbRed
Debug.Print inputArea.DisplayFormat.Interior.Pattern 'XlPattern.xlPatternChecker
End Sub
DisplayFormat プロパティは、ユーザー定義関数 (UDF) では機能しないことに注意してください。 たとえば、セルの内部の色を返すワークシート関数では、次のような行を使用します Range(n).DisplayFormat.Interior.ColorIndex
。 このワークシート関数が実行したときに #VALUE! エラーが返されます。
または、特定の範囲の設定を返すワークシート関数では DisplayFormat プロパティを使用できません。 ただし、DisplayFormat は、Visual Basic for Applications (VBA) から呼び出される関数では機能します。 たとえば、次の UDF では次のようになります。
Function getDisplayedColorIndex()
getColorIndex = ActiveCell.DisplayFormat.Interior.ColorIndex
End Function
次のようにワークシートから関数を呼び出すと、#VALUE! エラーが返されます。 そのため、条件付き書式が範囲に適用されている場合、UDF でその値を返す方法はありません。 条件付き書式が適用されている場合は、Visual Basic エディターで [イミディエイト] ウィンドウを呼び出して、アクティブなセルの色インデックスを取得します。
条件付き書式が適用されていない場合は、次の関数を使用して、アクティブなセルの色インデックスを返します。 次の関数は、ワークシートまたは VBA から機能します。
Function getAppliedColorIndex()
getColorIndex = ActiveCell.Interior.ColorIndex
End Function
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。