



En ocasiones al importar datos o escribir en las celdas se incluyen espacios adicionales al comienzo, al final o entre palabra y palabra (más de uno), necesitando una macro Excel para quitar todos los espacios del texto.
En Excel disponemos de la función ESPACIOS que realiza dicha labor.

Disponemos del rango A2:A5 con el origen de los datos. Y deseamos eliminar los espacios que incluye:
- A2. Texto sin espacios.
- A3. Espacios delante del texto (nombre).
- A4. Espacios entre el nombre y apellido.
- A5. Espacios al final del texto (apellido).
A | B | |
---|---|---|
1 | Nombre | |
2 | Ana Ramos | |
3 | Ana Ramos | |
4 | Ana Ramos | |
5 | Ana Ramos |
Si filtramos los datos o buscamos a Ana Ramos, sólo obtendremos un resultado en lugar de cuatro.
CREAR MACRO
Abrir el libro deseado
Guardar con la extensión *.xlsm. Libro habilitado para macros.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub EliminaEspacios()
Dim celda As Range
For Each celda In Selection
celda.Value = WorksheetFunction.Trim(celda.Value)
Next
End Sub
- Trim ejecuta la función VBA equivalente a espacio en Excel.
EJECUTAR MACRO
Seleccionar el rango A2:A5. Rango con espacios que deseamos eliminar.
Ir a: Cinta de Opciones
Pestaña: Programador o Desarrollador (según la versión Excel) / Grupo: Código
Macros; O también, Atajo de teclado Alt + F8. Mostrará cuadro de diálogo de macro.
Ir a: Nombre de la macro
Clic sobre la macro: EliminaEspacios.
Pulsar el botón Ejecutar. Reproducirá la macro.
Ir a: Verificar como se eliminan los espacios, ahora en todas las celdas tendremos el mismo nombre.
Para reproducir la macro se podrá insertar una acceso directo en la barra de acceso rápido, en la cinta de opciones o en un botón.

- Consultar:
Buen Dia... como puedo dar espacio entre caracter em una misma celda. con macro o con codigo en excel
Hola Freddy,
No comprendo bien tu consulta, ya que al escribir en una celda podemo incluir los espacios deseados.
Si te refieres a:
- Poner texto en diferentes líneas: Nos situamos en el texto donde cortar la linea y pulsar Alt + Enter.
- Distribuir el texto al ancho de la celda. Sobre la celda / botón derecho / Formato de celdas.
Ir a Pestaña: Alineación / Horizontal / Seleccionar: Distribuido (sangría).
Espero te sea útil.
Saludos.
Y si quiero yo poner un rango personalizado, sin tener que seleccionar las celdas?
Hola Laura,
Si necesitas un rango personalizado, puedes crear listas personalizadas. Pero no se en concreto que deseas realizar, si aplicarla con la macro...
Saludos.
falso
Hola ctj,
Si amplias un poco más tu problema, podemos intentar solucionarlo. No se si te da el resultado falso en la conversión. Pero normalmente se produce otro tipo de error.
Saludos.
Excelente aporte gracias por compartir tus conocimientos!!!!
Hola disculpa una pregunta y si quiero borraro todos los espacios incluyendo el que esta entre los nombres como podria hacer? gracias por su valioso aporte.
Hola Elvis,
Prueba con la función: =SUSTITUIR(A1;" ";"")
Saludos.
Tengo el mismo problema al querer borrar absolutamente todos los espacios,
la funcion de sustituir se vuelve muy lenta al ser demasiados registros, alguna otra sugerencia?
Hola Antonio,
El que tarde tiempo en eliminar los espacios se debe a que la macro deberá de verificar caracter a caracter todo el rango indicado.
Saludos.
Buen día, generalmente utilizo la conversión de pdf a excel en archivos muy extensos, tengo dos preguntas en particular, 1. Hay celdas que aparecen con espacio vertical (alt+enter), estos no deben ir, existe alguna fórmula que borre todos estos espacios y 2. Generalmente estas bases de datos repiten las filas de título de la tabla en cada hoja, hay alguna forma que permita quitar esos títulos que aparecen en el archivo al corte de cada página.
Hola Rosa María,
1. Si el caracter Alt+Enter no reemplaza el espacio, puedes aplicar la función ESPACIOS (en caso negativo solo mediante macros).
2. Solo con macros y ver si existe un patrón de repetición.
Saludos.