Свойство Range.DisplayFormat (Excel)

Возвращает объект DisplayFormat , представляющий параметры отображения для указанного диапазона. Только для чтения.

Синтаксис

expression. DisplayFormat

выражение: переменная, представляющая объект Range.

Возвращаемое значение

DisplayFormat

Замечания

На DisplayFormat влияет условное форматирование, как показано в приведенном ниже коде. Оно добавляет условное форматирование в ячейку A1 в ActiveSheet. Это форматирование полужирным шрифтом ячейки, изменение цвета интерьера на красный и добавление шаблона средства проверки.

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 для приложений (VBA). Например, в следующей пользовательской функции:

Function getDisplayedColorIndex()
   getColorIndex = ActiveCell.DisplayFormat.Interior.ColorIndex
End Function

Вызов функции с листа, как показано ниже , =getDisplayedColorIndex() возвращает ошибку #VALUE! . Таким образом, если условное форматирование применяется к диапазону, невозможно вернуть это значение с помощью определяемой пользователем функции. Если применено условное форматирование, получите индекс цвета для активной ячейки, вызвав панель Интерпретация в редакторе Visual Basic.

Если условное форматирование не применяется, используйте приведенную ниже функцию, чтобы вернуть индекс цвета для активной ячейки. Следующая функция будет работать на листе или из VBA.

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

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.