Insertar caracteres especiales

Tengo el siguiente problema tengo una columna de datos como sigue:
A1
A2
.
.
A100
Necesito agregar un carácter "X" para que me quede
aX1
aX2
.
.
AX100
Yo pude hacer una rutina pero se me complica cuando el numero es mayor a 9, mi rutina me hace esto
aX1X0
.
.
AX1X1X0X0
1

1 Respuesta

2.207.390 pts. En mi sitio encontraran material de ayuda, ejemplos...
Te propongo una solución sin macros.
Suponiendo que la col de datos empieza en C2, en otra col auxiliar colocá en la primer celda esta fórmula y luego arrastrala al resto de la col:
=IZQUIERDA(C2;1) & "X" & DERECHA(C2;LARGO(C2)-1)
Ahora seleccioná la col auxiliar y clic en copiar. Sin moverte de allí optá por menú Edición, Pegado especial, solo valores.
Ahora mové esta col sobre la original, pra que ocupe su mismo lugar.
Sdos. Si todo se comprendió no olvides finalizar la consulta
Elsa
PD) Más trucos y soluciones Excel desde aquí:
http://es.geocities.com/lacibelesdepunilla/manuales
Estimada Elsa ante todo muchas gracias por tu aporte no conocía esta función que me mandaste, pero te comento que estoy realizando un macro bastante complejo y sobre el final necesitaba que los datos de coordenadas de una matriz se le inserte un carácter especifico en mi caso es el "@" porque así lo toma este equipo que luego lo lee de un txt plano.
Probando y mirando por aquí pude hacer esto:
Sub InsertaCaracter()
Do
Texto = ActiveCell.Value
Cadena = ""
i = 1
caracter1 = Mid(Texto, i, 1)
caracter2 = Mid(Texto, i + 1, 2)
Cadena = caracter1 & "@" & caracter2
ActiveCell.Value = Cadena
ActiveCell.Offset(1).Select
Loop Until IsEmpty(ActiveCell)
End Sub
Espero tu comentario muchas gracias saludos
Casi perfecto, solo que en la variable caracter2 le estás indicando un largo de 2 y no se si esto siempre será así o tendrás valores de + de 3 dígitos.
Te propongo este cambio para dejarla más ajustada. De paso utilicé 1 sola variable en lugar de 3.
Sub InsertaCaracter()
Do
texto = ActiveCell.Value
Cadena = ""
i = 1
Cadena = Mid(texto, i, 1) & "@" & Mid(texto, i + 1, Len(texto) - 1)
ActiveCell.Value = Cadena
ActiveCell.Offset(1).Select
Loop Until IsEmpty(ActiveCell)
End Sub
Con la función Len le indico que tome el largo del texto -1 que es el primer carácter ya tomado.
Sdos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas