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

按如下所示从工作表调用 函数 =getDisplayedColorIndex () 将返回 #VALUE! 错误。 因此,如果条件格式应用于某个区域,则无法通过 UDF 返回该值。 如果已应用条件格式,则通过调用 Visual Basic 编辑器中的“即时”窗格来获取活动单元格的颜色索引。

如果未应用条件格式,请使用以下函数返回活动单元格的颜色索引。 以下函数可从工作表或 VBA 工作。

Function getAppliedColorIndex()
   getColorIndex = ActiveCell.Interior.ColorIndex
End Function

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。