Excel ya tiene una función de hoja de trabajo TRIM que puede usar para deshacerse de los espacios iniciales, finales y adicionales entre palabras / cadenas.
También hay una función TRIM en VBA (y hace exactamente lo mismo: eliminar espacios adicionales).
¿Por qué también necesitamos una función TRIM en VBA?
¡Buena pregunta!
Si bien puede trabajar con la función TRIM incorporada en las hojas de cálculo de Excel para deshacerse de los espacios. en algunos casos, es posible que deba hacer esto usando VBA.
Esto podría ser parte de un código más grande.
Sintaxis de la función VBA TRIM
TRIM (cadena)
"Cadena" es el argumento que puede ser una cadena de texto o una variable que contiene una cadena de texto.
Aprendamos a usar la función VBA TRIM con un par de ejemplos.
Ejemplo 1: mostrar el resultado en un cuadro de mensaje
Suponga que tiene el siguiente texto en la celda A1
Tenga en cuenta que hay espacios antes y después de la oración.
El siguiente código tomaría esta oración y mostraría el resultado después de recortar los espacios adicionales
Sub TrimExample1 () MsgBox Trim (Rango ("A1")) End SubHay una cosa importante que debe saber al usar la función TRIM en VBA: solo eliminará los espacios iniciales y finales. No eliminará los espacios adicionales entre las palabras (lo que hace la función TRIM incorporada en la hoja de trabajo).
Por ejemplo, suponga que tiene el siguiente texto en la celda A1 (con espacios adicionales entre palabras):
Si utilizo el código VBA anterior, mostrará un cuadro de mensaje como se muestra a continuación:
Como puede ver en el resultado del cuadro de mensaje, la función VBA TRIM no elimina los espacios adicionales entre palabras.
Entonces, ¿cuál es la alternativa?
Si desea eliminar los espacios iniciales, finales y dobles entre palabras, es mejor usar el siguiente código:
Sub TrimExample1 () MsgBox WorksheetFunction.Trim (Range ("A1")) End Sub
El código anterior usa la función TRIM de la hoja de trabajo (en lugar de usar la función TRIM en VBA).
Nota: La función de recorte de VBA no elimina los caracteres que no son espacios en blanco, como las líneas nuevas (vbNewLine, vbCrLf) etc.
Ejemplo 2: eliminar rápidamente los espacios iniciales y finales de un rango de celdas
Suponga que tiene un conjunto de datos como se muestra a continuación donde hay espacios iniciales y finales:
Puede usar el siguiente código para limpiar instantáneamente estos datos y eliminar todos los espacios iniciales y finales:
Sub TrimExample1 () Dim Rng As Range Set Rng = Selección para cada celda en Rng Cell.Value = Trim (Cell) Next Cell End Sub
El código anterior pasa por todas las celdas de la selección y elimina los espacios iniciales y finales.
También le pueden gustar los siguientes tutoriales de Excel / VBA:
- 10 formas de limpiar datos en Excel.
- Función de división de Excel VBA.
- Función Excel VBA InStr.
- Función VBA LCase.
- Función VBA UCase.
- Creación de una función definida por el usuario (UDF) en Excel VBA.