Macro cambiar formulas para optimizar

Hola Dam, nuevamente pidiendo de tu apoyo...

en esta ocasión necesito de su ayuda ya que tengo dos formulas y me gustaría optimizarlas para ejecutarlas dentro de una macro, ya que manualmente me tardo mucho, ya que los datos donde las aplico varían de tamaño...
Tengo esta formula:
Calcular edad en base a la fecha de nacimiento ... SORL790406636

=(2012-(EXTRAE(O2,5,2)+1900)) 

Rango de edad donde se encuentra...

=SI(P2<24,"De 18 a 24 años",SI(P2<29,"de 25 a 29 años",SI(P2<34,"de 30 a 34 años",SI(P2<39,"de 35 a 39 años",SI(P2<44,"de 40 a 44 años",SI(P2<49,"de 45 a 49 años",SI(P2<54,"de 50 a 54 años",SI(P2<59,"de 55 a 59 años",SI(P2<64,"de 60 a 64 años",SI(P2<65,"de 65 a 69 años","mayor de 70 años")))))))))) 

Las columnas son G y H...

Si pongo la grabadora de macros me genera esta código, pero no se como implementarlo en toda la columna o exista algo mejor.

ActiveCell.FormulaR1C1 = "=(2012-(MID(R[-1]C[-1],5,2)+1900))"


SAludos y muchas gracias...

1 Respuesta

Respuesta
1

Utiliza la siguiente macro

Sub calcular_edad()
'por.dam
For i = 2 To Range("O" & Rows.Count).End(xlUp).Row
    anio = Mid(Cells(i, "O"), 5, 2)
    Cells(i, "P") = 2012 - (Val(Mid(Cells(i, "O"), 5, 2)) + 1900)
    Select Case Cells(i, "P")
        Case Is < 25
            Cells(i, "Q") = "De 18 a 24 años"
        Case 25 To 29
            Cells(i, "Q") = "De 25 a 29 años"
        Case 30 To 34
            Cells(i, "Q") = "De 25 a 29 años"
        Case 35 To 39
            Cells(i, "Q") = "De 35 a 39 años"
        Case 40 To 44
            Cells(i, "Q") = "De 40 a 44 años"
        Case 45 To 49
            Cells(i, "Q") = "De 45 a 49 años"
        Case 50 To 54
            Cells(i, "Q") = "De 50 a 54 años"
        Case 55 To 59
            Cells(i, "Q") = "De 55 a 59 años"
        Case 60 To 64
            Cells(i, "Q") = "De 60 a 64 años"
        Case 65 To 69
            Cells(i, "Q") = "De 65 a 69 años"
        Case Is > 69
            Cells(i, "Q") = "mayor de 70 años"
    End Select
Next
End Sub

saludos.dam

Como siempre una excelente y practica solución, gracias por tu tiempo y tu conocimiento.

Una vez mas me quedo corta con la calificación.

Saludos y gracias DAM.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas