Range.DisplayFormat プロパティ (Excel)

指定した範囲の表示設定を表す DisplayFormat オブジェクトを返します。 読み取り専用です。

構文

DisplayFormat

expressionRange オブジェクトを表す変数です。

戻り値

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 のサポートおよびフィードバックを参照してください。