VBA – Funciones Trim, LTrim, y RTrim – Eliminar Espacios de Cadenas de Texto
In this Article
- Función Trim
- Recortar Espacios Antes y Después de una Cadena de Texto
- Recortar Espacios Múltiples Antes y Después de Texto
- VBA Trim No Quitará Espacios Entre Palabras
- Trim como WorkSheetFunction
- Uso de la Función Espacios (Trim) en VBA
- Diferencia entre WorksheetFunction.Trim y VBA Trim
- Usar VBA para Agregar la Función Trim en un Rango
- Función LTrim
- Función RTrim
- Eliminar Todos los Espacios del Texto
Este tutorial mostrará cómo utilizar las funciones VBA Trim, LTrim, y RTrim, así como la función WorksheetFunction.Trim.
Función Trim
La función VBA Trim elimina («recorta») espacios erróneos antes y después de cadenas de texto.
Recortar Espacios Antes y Después de una Cadena de Texto
La función VBA Trim eliminará los espacios antes y después de las cadenas de texto:
Sub Trim_Ejemplo_1()
MsgBox Trim(" Yo Amo Excel ")
'Resultado: "Yo Amo Excel"
MsgBox Trim(" Yo Amo Excel")
'Resultado: "Yo Amo Excel"
MsgBox Trim("Yo Amo Excel ")
'Resultado: "Yo Amo Excel"
End Sub
Recortar Espacios Múltiples Antes y Después de Texto
Esto incluye el recorte de múltiples espacios antes y después del texto:
Sub Trim_Ejemplo_2()
MsgBox Trim(" Yo Amo Excel ")
'Resultado: "Yo Amo Excel"
MsgBox Trim(" Yo Amo Excel")
'Resultado: "Yo Amo Excel"
MsgBox Trim("Yo Amo Excel ")
'Resultado: "Yo Amo Excel"
End Sub
VBA Trim No Quitará Espacios Entre Palabras
Sin embargo, la función Trim No eliminará múltiples espacios entre palabras:
Sub Trim_Ejemplo_3()
MsgBox Trim(" Yo Amo excel ")
'Resultado: "Yo Amo excel"
MsgBox Trim(" Yo Amo excel")
'Resultado: "Yo Amo excel"
MsgBox Trim("Yo Amo excel ")
'Resultado: "Yo Amo excel"
End Sub
Trim como WorkSheetFunction
Sin embargo, la función WorksheetFunction.Trim de Excel se puede utilizar para eliminar espacios adicionales entre palabras:
Uso de la Función Espacios (Trim) en VBA
Para utilizar la función Espacios (Trim) de Excel en VBA, llámela utilizando WorksheetFunction:
Sub Trim_Ejemplo_4()
MsgBox WorksheetFunction.Trim(" Yo amo excel ")
'Resultado: "Yo amo excel"
MsgBox WorksheetFunction.Trim(" Yo amo excel")
'Resultado: "Yo amo excel"
MsgBox WorksheetFunction.Trim("Yo amo excel ")
'Resultado: "Yo amo excel"
End Sub
Diferencia entre WorksheetFunction.Trim y VBA Trim
Esto demostrará las diferencias entre Recortar y WorksheetFunction.Trim:
Sub Trim_Ejemplo_5()
MsgBox WorksheetFunction.Trim(" Yo amo excel ")
'Resultado: "Yo amo excel"
MsgBox Trim(" Yo amo excel ")
'Resultado: "Yo amo excel"
MsgBox WorksheetFunction.Trim(" Yo amo excel")
'Resultado: "Yo amo excel"
MsgBox Trim(" Yo amo excel")
'Resultado: "Yo amo excel"
MsgBox WorksheetFunction.Trim("Yo amo excel ")
'Resultado: "Yo amo excel"
MsgBox Trim("Yo amo excel ")
'Resultado: "Yo amo excel"
End Sub
Usar VBA para Agregar la Función Trim en un Rango
La función WorksheetFunction.Trim puede ser agregada en un Rango utilizando la propiedad .Formula:
Sub Trim_Ejemplo_6()
ThisWorkbook.Worksheets("Hoja1").Range("B2").Formula = "=trim(A2)"
End Sub
Función LTrim
La función LTrim elimina los espacios sólo del lado izquierdo de la palabra:
Sub Trim_Ejemplo_7()
MsgBox LTrim(" Yo amo excel ")
'Resultado: "Yo amo excel "
MsgBox LTrim(" Yo amo excel")
'Resultado: "Yo amo excel"
MsgBox LTrim("Yo amo excel ")
'Resultado: "Yo amo excel "
MsgBox LTrim(" Yo amo excel ")
'Resultado: "Yo amo excel "
MsgBox LTrim(" Yo amo excel")
'Resultado: "Yo amo excel"
MsgBox LTrim("Yo amo excel ")
'Resultado: "Yo amo excel "
End Sub
Función RTrim
La función RTrim elimina los espacios sólo del lado derecho de la palabra:
Sub RTrim_Ejemplo_8()
MsgBox RTrim(" Yo amo excel ")
'Resultado: " Yo amo excel"
MsgBox RTrim(" Yo amo excel")
'Resultado: " Yo amo excel"
MsgBox RTrim("Yo amo excel ")
'Resultado: "Yo amo excel"
MsgBox RTrim(" Yo amo excel ")
'Resultado: " Yo amo excel"
MsgBox RTrim(" Yo amo excel")
'Resultado: " Yo amo excel"
MsgBox RTrim("Yo amo excel ")
'Resultado: "Yo amo excel"
End Sub
Trim, Ltrim y Rtrim no eliminan los espacios entre palabras.
Eliminar Todos los Espacios del Texto
Recortar sólo eliminará los espacios sobrantes entre palabras, pero para eliminar todos los espacios de una cadena de texto, puede utilizar la función Reemplazar:
Sub Ejemplo_Replace()
MsgBox Replace(" Yo amo excel ", " ", "")
'Resultado: "Yoamoexcel"
End Sub