Función extrae en macro

Quería preguntar acerca de como podría hacer lo siguiente: en una columna tengo una serie de datos de los que me interesa sacar unos caracteres; es decir, siempre voy a tener a partir de la celda A2 datos, de los que siempre voy a tener que extraer desde 4 caracteres a partir del quinto:
A2 0ert-ghju-o087-uio me sacaria (en C2) ghju
A3 0964-yhdj-97636-osy me sacaría ( en C3) yhdj y así sucesivamente;
Lo que pasa es que a veces el rango sera desde A2 hasta A60, otras hasta A89, pero siempre va a empezar desde A2. Intento crear la macro haciendo que la fórmula se ejecute hasta la primera celda vacía, pero lo que no se es como poner la fórmula en la macro. Me gustaría hacerlo así ya que después tengo otros códigos para hacer unas cuentas y así que me lo hiciera todo del tirón.

1 respuesta

Respuesta
1
Es sencillo
Así quedaría:
Sub Extraer()
Final = Range("a65536").End(xlUp).Row - 1
For x = 2 To Final
 Cells(x, 3) = Mid(Cells(x, 1), 5, 4)
Next
End Sub
Muchas gracias por la solución, funciona perfectamente.
Además comentarte que buscando y buscando ytambién encontré otro código para hacerlo, que es el siguiente:
Sub Generar_Datos()
    Dim nFila As Long
    nFila = 4
    Do While Cells(nFila, 10).Value <> ""
        Cells(nFila, 17).Value = "=MID(RC[-7],6,6)"
        Cells(nFila, 18).Value = "=VLOOKUP(RC[-1],R2C48:R123C49,2,0)"
        Cells(nFila, 19).Value = "=WEEKNUM(RC[-3],2)-1"
        nFila = nFila + 1
    Loop
End Sub
Esto bueno, sería el código de unas cuentas que tenía que hacer, que tendré que ir modificando, pero ya te digo, con cualquiera de las dos soluciones funciona como quiero.
Muchas gracias y saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas