VBA – Funciones Trim, LTrim, y RTrim – Eliminar Espacios de Cadenas de Texto

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on marzo 28, 2023

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:

Función Espacios en Excel

 

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
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples