Agregar varios espacios en una celda de números

Tengo una cadena de números en una celda 100100100100, las cuales busco introducir una celda cada 3 caracteres y quede algo así: 100 100 100 100.

2 respuestas

Respuesta
2

Aclara un poco más el tema por favor:

- 1 celda (1 col) que al ser separada, ¿según tu ejemplo ahora ocuparía 7 columnas?

- ¿Tenés un rango de filas con celdas a separar?

Quedo atenta a tus aclaraciones.

Desde luego, buscó añadir un espacio por cada 3 caracteres y que quede en una misma celda, es decir en A1 tengo 100100100100, y busco que en una celda por ejemplo B1 quede 100 100 100 100.

Gracias.

Viendo que has valorado la respuesta del otro experto dudo de si necesitas el resultado en columnas diferentes ... entiendo que eso no es lo que necesitas sino todo en una misma celda.

Bien, entonces aquí va una macro que se ejecuta sobre la celda activa... colocando el resultado en la de al lado (a derecha).

Se puede ejecutar con atajo de teclado (x ej Ctrl s ) y también se puede completar la macro para ejecutar sobre un rango de filas.

Sub separando()
'x Elsamatilde
'atajo de teclado: Ctrl s (mayúsc o minúsc)
'para celda activa
largo = Len(ActiveCell.Value)
For i = 1 To largo Step 3
dato = dato & Mid(ActiveCell, i, 3) & " "
Next i
'coloca resultado en celda de col a derecha
ActiveCell.Offset(0, 1) = dato
End Sub

PD) El tema de cómo asignar atajos de teclado lo tengo explicado en la sección Macros de mi sitio.... cualquier dificultad comentame para aclararlo.

Sdos

Elsa

Salio perfecto, muchas gracias

De todos modos agrego la macro completa por si alguien quisiera realizar algo similar con un rango de celdas, en este caso en col A.

Sub separando()
'x Elsamatilde
'atajo de teclado: Ctrl s (mayúsc o minúsc)
'para rango que empieza en A1
Range("A1").Select
'recorre la col hasta encontrar una celda vacía
While ActiveCell.Value <> ""
dato = ""
largo = Len(ActiveCell.Value)
For i = 1 To largo Step 3
dato = dato & Mid(ActiveCell, i, 3) & " "
Next i
'coloca resultado en celda de col a derecha
ActiveCell.Offset(0, 1) = dato
'paso a la fila sgte.
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Sdos!

Respuesta
1

Puedes separar las columnas utilizando del Menú Datos: Texto en columnas.

Te anexo un vídeo para que sigas los pasos:

https://www.youtube.com/watch?v=A2N19n4O7ms&feature=youtu.be 

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas