Suele suceder que al trabajar con una lista de datos, hay celdas que tienen espacios al inicio y/o final de los valores o texto que contienen. Esto causa dificultades, por ejemplo si se quiere buscar un valor utilizando VLOOKUP u otras similares. A continuación se presenta una Macro que facilitará el trabajo de encontrar estos espacios extra y eliminarlos en las celdas correspondientes.
Se utilizará como ejemplo una lista de canciones, como se ve los datos que han sido ingresados tienen algunos espacios al inicio, final o ambos. Con la siguiente macro se lograra eliminar esos espacios.
Paso 1. Declarar el rango de celdas y cada celda como Range.
Paso 2. Al ejecutar una Macro los cambios que realiza esta ya no se pueden deshacer, entonces es bueno tener la opción de elegir si se guarda antes de ejecutar la Macro. Se crea entonces un cuadro de mensaje que pregunte si se quiere guardar el Libro antes, esta contará con tres opciones: Yes, No, Cancel. Yes: para grabar el libro. Cancel: no se ejecuta la macro. No: ejecuta la macro sin guardar.
Paso 3. Se asigna a la variable Rango el rango objetivo. En este caso como la lista podría variar se usa el algoritmo de la última fila, se coloca el rango desde la celda A2 hasta la celda A## (##: ultima fila usada).
Paso 4. Se empieza el análisis por celda que pertenece al rango anteriormente definido. El for each activa cada una de las celdas para que se ejecute el paso 5.
Paso 5. Una vez la celda esté activa la macro se asegura de que la celda a analizar no esté vacía con la condición de que si no está vacía se ejecute la función Trim en esa celda.
Paso 6. Para pasar a analizar la siguiente celda en el rango definido.
A continuación se muestra la Macro:
Esto es lo que se obtiene finalmente:
Se adjunta el archivo de excel. Lista de canciones -excel -macros
14/02/2015 a las 10:17 am
¿Cómo puedo solo eliminar los espacios en blanco de la izquierda de cada celda?
09/10/2019 a las 4:22 pm
Utiliza la formula =TRIM(CeldaX)
Con ello debe quitarse el espacio en blanco al final, intermedio e inicio de las celdas.
21/03/2015 a las 4:55 pm
Buena idea lo del cuadro preguntando si se desea guardar el libro. En general lo que una macro ejecuta no se puede retroceder (no hay undo). Por eso hay que tener cuidado porque podríamos perder información si no tomamos en cuenta este detalle.
01/06/2015 a las 8:58 am
Creo que para eliminar el calculo de la ultima celda en vez de poner en la condición del LOOP de FOR-NEXT "Rango" se coloque "Selection" y reduciría el código
22/07/2015 a las 8:17 pm
Cómo se puede utilizar esta misma función, Trim, para varias columnas de una misma tabla?