Свойство "Диапазон.Текст" (Excel)

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

Синтаксис

выражение. Text (Текст)

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

Примечания

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

Если содержимое ячейки превышает допустимую для отображения ширину, отображаемое значение изменяется свойством "Текст ".

Пример различий свойств

В данном примере показана разница между свойствами "Текст " и "Значение " ячеек, содержащих форматированные числа.

Option Explicit

Public Sub DifferencesBetweenValueAndTextProperties()
    Dim cell As Range
    Set cell = Worksheets("Sheet1").Range("A1")
    cell.Value = 1198.3
    cell.NumberFormat = "$#,##0_);($#,##0)"
    
    MsgBox "'" & cell.Value & "' is the value." 'Returns: "'1198.3' is the value."
    MsgBox "'" & cell.Text & "' is the text."    'Returns: "'$1,198' is the text."
End Sub

Различия в ширине текста

Если ячейки содержат числовые значения, отображаемые значения могут изменяться, если столбец недостаточно широк. В примере ниже это показано с использованием двух столбцов. Ширина первого столбца достаточна для отображения значений. Применяется формат, после чего вводится полное значение. Ширина второго столбца уменьшена таким образом, что при копировании ячеек он становится слишком узким, что приводит к модификации отображаемого значения.

Public Sub TextWidthDifferences()
    
    Dim wideColumn As Range
    Set wideColumn = Sheet1.Range("B2")
    wideColumn.Value = "Wide Enough Column"
    wideColumn.Columns.AutoFit
    
    Sheet1.Range("B3").Value2 = 123456789
    
    Const CurrencyWith2DecimalsFormat As String = "$#,##0.00"
    Dim currencyCell As Range
    Set currencyCell = Sheet1.Range("B4")
    currencyCell.Value2 = 1234.56
    currencyCell.NumberFormat = CurrencyWith2DecimalsFormat
    
    Dim narrowColumn As Range
    Set narrowColumn = Sheet1.Range("C2")
    narrowColumn.Value = "Reduced Width Column"
    narrowColumn.ColumnWidth = 7.5
    
    Sheet1.Range("B3:B4").AutoFill Destination:=Sheet1.Range("B3:C4"), Type:=XlAutoFillType.xlFillDefault
    Debug.Print Sheet1.Range("C3").Text
    Debug.Print Sheet1.Range("C4").Text
End Sub

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

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