TRIM DE VBA

Función Excel VBA TRIM

VBA TRIM está categorizado bajo las funciones de cadena y texto, esta función es una función de hoja de trabajo en VBA y similar a la referencia de la hoja de trabajo, esta función se usa para recortar o eliminar los espacios no deseados de una cadena, toma un solo argumento que es una cadena de entrada y devuelve una salida como una cadena.

Hay varias situaciones en las que descargamos los datos de servidores online y nos enfrentamos a una situación de datos desorganizados y espacios no deseados en el celular. Es muy doloroso trabajar con los espacios innecesarios. En las funciones normales de la hoja de trabajo, tenemos una función llamada TRIM en Excel para deshacernos de los “espacios iniciales, espacios finales y espacios intermedios” . En VBA también tenemos una función llamada TRIM que funciona exactamente igual que la función de Excel, pero solo hay una pequeña diferencia, lo veremos en este artículo un poco más adelante.

¿Qué hace la función Trim?

TRIM es una función de cadena que elimina espacios en Excel de la celda seleccionada. En los espacios, tenemos 3 tipos "espacios iniciales, espacios finales y espacios intermedios" .

El espacio inicial no es nada, pero antes de que comience cualquier valor en la celda, si hay algún espacio, se denomina espacio inicial.

Trailing Space no es nada, pero después del final del valor en la celda, si hay algún espacio, se llama Trailing Space.

El espacio intermedio no es nada después del final de cada palabra, idealmente deberíamos tener un carácter de espacio, cualquier cosa más de un carácter de espacio se llama espacio intermedio.

Para superar todo este tipo de problemas tenemos una función llamada TRIM.

Sintaxis

Cadena: ¿Cuál es la cadena o valor que desea recortar? Podría ser una referencia de celda, así como un suministro directo de valor a la fórmula.

Ejemplos

Puede descargar esta plantilla de función VBA TRIM aquí - Plantilla de función VBA TRIM

Ejemplo 1

Ahora veremos cómo eliminar los espacios iniciales en Excel usando la función TRIM. Siga los pasos a continuación

Paso 1: cree un nombre de macro y declare una variable como String.

Código:

 Sub Trim_Example1 () Dim k As String End Sub 

Paso 2: Ahora, para esta variable declarada, asigne un valor usando el TRIM.

Código:

 Sub Trim_Example1 () Dim k As String k = Trim (End Sub 

Paso 3: Para esta cadena, escriba la palabra entre comillas dobles como "Bienvenido a VBA".

Código:

 Sub Trim_Example1 () Dim k As String k = Trim ("Bienvenido a VBA") End Sub 

Paso 4: Ahora muestre el resultado de esta variable en el cuadro de mensaje.

Código:

 Sub Trim_Example1 () Dim k As String k = Trim ("Bienvenido a VBA") MsgBox k End Sub 

Paso 5: Ejecute este código usando la tecla F5 o ejecútelo manualmente, deberíamos obtener una cadena correcta en el cuadro de mensaje.

Salida:

Entonces, la función TRIM eliminó todos los espacios iniciales que hemos ingresado al valor de la cadena. Ahora el resultado es una oración correcta, es decir, "Bienvenido a VBA" .

Ejemplo # 2

Ahora eche un vistazo a un ejemplo más para eliminar los espacios finales. Tome la misma palabra pero esta vez ingrese espacios al final.

“Bienvenido a VBA”.

Código:

 Sub Trim_Example2 () Dim k As String k = Trim ("Bienvenido a VBA") MsgBox k End Sub 

Ejecute este código manualmente o mediante la tecla F5. La función Recortar también elimina los espacios finales.

Salida:

Ejemplo n. ° 3: limpiar los datos de las celdas

Ahora veremos el ejemplo práctico de limpieza de datos en celdas de Excel. Suponga que tiene un conjunto de datos como el siguiente en su hoja de Excel.

Cuando tenemos más de un dato de celda, necesitamos escribir códigos diferentes. Siga los pasos a continuación para escribir código.

Paso 1: Declare una variable como "Rango".

Código:

 Sub Trim_Example3 () Dim MyRange As Range End Sub 

Paso 2: Dado que el tipo de datos de rango es un objeto, primero debemos establecer el rango. Así que configure el rango como "selección".

Código:

 Sub Trim_Example3 () Atenuar MyRange como rango Establecer MyRange = Selección End Sub 

Nota: MyRange = Selection significa que cualquier celda que seleccione se convierte en un rango. Entonces, en ese rango, TRIM elimina los espacios no deseados.

Paso 3: Ahora, usando For Each VBA Loop, aplique la función TRIM.

Código:

 Sub Trim_Example3 () Atenuar MyRange como rango Establecer MyRange = Selección para cada celda en la celda MyRange.Value = Trim (celda) Siguiente final Sub 

Step 4: Now go back to the worksheet. Go to insert and draw a rectangular shape.

Step 5: Add a word to the inserted rectangular shape as click here to clean the data.

Step 6: Right-click on the rectangular shape and select the assign macro.

Step 7: Now the macro names box will open. Select the name of the macro we just created. Click on Ok.

 

Step 8: Now select the range where we need to clean the data.

Step 9: After selecting the range click on the assigned macro rectangular box. It will clean the data.

So we got cleaned value i.e. after removing leading & trailing spaces.

Difference Between Excel & VBA Trim Function

The only difference between them is VBA function cannot remove in between spaces while the worksheet function in VBA does. For example, take a look at the below example.

In cell A3 we have in-between spaces, if select and click on the rectangular shape it will only remove trailing & leading spaces, not in-between spaces.

To overcome this problem we need to use the trim function as a worksheet function in the code.

Code:

 Sub Trim_Example3() Dim MyRange As Range Set MyRange = Selection For Each cell In MyRange cell.Value = WorksheetFunction.Trim(cell) Next End Sub 

Here we have used worksheet function not a vba function. This will remove all kinds of spaces.

Things to Remember

  • VBA Trim & Worksheet Trim syntax is exactly the same.
  • It can only remove leading & trailing spaces, not in-between spaces.
  • Excel trim function can remove all kinds of spaces.