Propriedade Range.Text (Excel)

Retorna o texto formatado para o objeto especificado. String somente leitura.

Sintaxe

expressão. Texto

expressão Uma variável que representa um objeto de Intervalo.

Comentários

A propriedade Text é mais usada para um intervalo de uma célula. Se o intervalo incluir mais de uma célula, a propriedade Text retornará Null, exceto quando todas as células do intervalo tiverem conteúdo e formatos idênticos.

Se o conteúdo da célula for maior que a largura disponível para exibição, a propriedade Text modificará o valor exibido.

Exemplo de diferenças de propriedade

Este exemplo ilustra a diferença entre as propriedades Texto e Valor das células que contêm números formatados.

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

Diferenças de largura de texto

As células que contêm valores numéricos podem ter o valor exibido modificado quando a coluna não for larga o suficiente. O exemplo a seguir mostra isso usando duas colunas. A primeira coluna é larga o suficiente para exibir os valores. Um formato é aplicado e, em seguida, um valor inserido mostrando o valor completo. A segunda coluna tem sua largura reduzida de modo que quando as células são copiadas sobre ela é muito estreita, fazendo com que o valor exibido seja moificado.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.