Insertar un dígito en todas las celdas de una columna numérica

Tengo la celda A1 con el valor 43004629, la celda A2 con 43017140, y así hasta tres mil filas con cifras de 8 dígitos, y todas empiezan por 43. Y quiero introducir un cero 0 en la tercera posición empezando por la izquierda, es decir detrás del 3, del 43.

Alguien me podría ayudar para crear una sub rutina en VBA, ¿qué me lo haga seguido?

3 respuestas

Respuesta
1

Y quiero introducir un cero 0 en la tercera posición empezando por la izquierda

Ejecuta la siguiente macro, los resultados quedarán en la misma columna A:

Sub Macro4()
  With Range("A1", Range("A" & Rows.Count).End(xlUp))
    .Value = Evaluate("=IF({1},LEFT(" & .Address & ",2)&""0""&MID(" & .Address & ",3,6))")
  End With
End Sub
Respuesta
1

Te lo pondré en fórmula y en macro. Para mí seria más útil en fórmula pero como pides macro te pongo los dos.

Formula (va en la columna que quieres los resultados)--> =CONCATENAR(IZQUIERDA(A1;3);0;DERECHA(A1;5))*1

Codigo VBA-->

Range("B2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(LEFT(RC[-1],3),0,RIGHT(RC[-1],5))*1"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B13")
Range("B2").Select

Nota. No entendí bien si el cero lo quieres antes o después del primer 3. Lo puse después, si lo quieres antes solo debes cambiar el primer 3 de la fórmula por un 2 y listo.

Respuesta
1

Otra fórmula que le puede ayudar, inserte una columna en la C a manera que en la columna C ponga esta fórmula, se inserta un cero (0) en la tercera posición, sustituye en la fórmula la coma(,) por punto y coma(;), después copia los valores de la columna C a la columna A pegando como valores, si el separador en su país es así como separador de fórmulas

=CONCATENAR(EXTRAE(A1, 1,2),"0", EXTRAE(A1, 3,6))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas