Свойство 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 и обратная связь.