Propiedad Range.Text (Excel)

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

Sintaxis

más sencilla.Texto

expresión Variable que representa un objeto Range.

Comentarios

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

Si el contenido de la celda es mayor que el ancho disponible para mostrar, la propiedad Texto modificará el valor mostrado.

Ejemplo de diferencias entre propiedades

Este ejemplo muestra la diferencia entre las propiedades Texto y Valor 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

El valor mostrado de las celdas que contienen valores numéricos puede modificarse cuando la columna no es lo suficientemente ancha. El ejemplo siguiente muestra esto usando dos columnas. La primera columna es lo suficientemente ancha como para mostrar los valores. Se aplica un formato y, a continuación, se introduce un valor que muestra el valor completo. El ancho de la segunda columna se reduce de tal manera que cuando se copian las celdas es demasiado estrecho, lo que hace que se modifique 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.