Range.DisplayFormat-Eigenschaft (Excel)
Gibt ein DisplayFormat-Objekt zurück, das die Anzeigeeinstellungen für den angegebenen Bereich darstellt. Schreibgeschützt.
Syntax
Ausdruck. DisplayFormat
Ausdruck Eine Variable, die ein Range-Objekt darstellt.
Rückgabewert
DisplayFormat
Hinweise
DisplayFormat ist von der bedingten Formatierung betroffen, wie im folgenden Code gezeigt. Es fügt zelle A1 im ActiveSheet bedingte Formatierung hinzu. Diese Formatierung fettisiert die Zelle, ändert die Innenfarbe in Rot und fügt ein Checkermuster hinzu.
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
Beachten Sie, dass die DisplayFormat-Eigenschaft in benutzerdefinierten Funktionen (User Defined Functions, UDF) nicht funktioniert. In einer Arbeitsblattfunktion, die die Innenfarbe einer Zelle zurückgibt, verwenden Sie beispielsweise eine Zeile ähnlich der folgenden: Range(n).DisplayFormat.Interior.ColorIndex
. Wenn die Arbeitsblattfunktion ausgeführt wird, wird ein #VALUE!-Fehler zurückgegeben.
In einem anderen Beispiel können Sie die DisplayFormat-Eigenschaft nicht in einer Arbeitsblattfunktion zum Zurückgeben von Einstellungen für einen bestimmten Bereich verwenden. DisplayFormat funktioniert jedoch in einer Funktion, die aus Visual Basic for Applications (VBA) aufgerufen wird. Beispiel: In der folgenden UDF:
Function getDisplayedColorIndex()
getColorIndex = ActiveCell.DisplayFormat.Interior.ColorIndex
End Function
Das Aufrufen der Funktion aus einem Arbeitsblatt wie folgt =getDisplayedColorIndex() gibt den fehler #VALUE! zurück. Wenn also eine bedingte Formatierung auf einen Bereich angewendet wird, gibt es keine Möglichkeit, diesen Wert mit einer UDF zurückzugeben. Wenn bedingte Formatierung angewendet wurde, rufen Sie den Farbindex für die aktive Zelle ab, indem Sie den Direktbereich im Visual Basic-Editor aufrufen.
Wenn keine bedingte Formatierung angewendet wird, verwenden Sie die folgende Funktion, um den Farbindex für die aktive Zelle zurückzugibt. Die folgende Funktion funktioniert entweder über ein Arbeitsblatt oder über VBA.
Function getAppliedColorIndex()
getColorIndex = ActiveCell.Interior.ColorIndex
End Function
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.