Propiedad Range.Text (Excel)

Devuelve el texto con formato para el objeto especificado. String de solo lectura.

Sintaxis

expresión. Texto

expresión Variable que representa un objeto Range.

Comentarios

La propiedad Text se usa con mayor frecuencia para un intervalo de una celda. Si el rango incluye más de una celda, la propiedad Text devuelve Null, excepto cuando todas las celdas del rango tienen formatos y contenidos idénticos.

Si el contenido de la celda es más ancho que el ancho disponible para mostrar, la propiedad Text modificará el valor mostrado.

Ejemplo de diferencias de propiedad

En este ejemplo se muestra la diferencia entre las propiedades Text y Value de las celdas que contienen números con formato.

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

Diferencias de ancho de texto

Las celdas que contienen valores numéricos pueden tener su valor mostrado modificado cuando la columna no es lo suficientemente ancha. En el ejemplo siguiente se muestra esto mediante dos columnas. La primera columna es lo suficientemente ancha como para mostrar los valores. Se aplica un formato y, a continuación, se especifica un valor que muestra el valor completo. La segunda columna tiene su ancho reducido de modo que cuando se copian las celdas sobre ella es demasiado estrecho, lo que hace que se moifique el valor mostrado.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.