Saber edad a través de una macro

Nuevamente necesito de tu ayuda, ¿es posible saber la edad de una persona a través de una linea de macro? Si es así me ayudas. Yo la hice con formula en la casilla pero cuando pregunto en la macro haciendo referencia a la casilla me sale error pienso que es por la formula que le aplique.

Jhonpe

1 Respuesta

Respuesta
1

¿Y qué tienes en la fórmula?

En la macro pudiera ser así

edad = Int((Date - Range("B5")) / 365)
meses = Int(((Date - Range("B5") - edad) / 365) / 12)

En edad te da los años, en meses, te da un aproximado de meses, ya que para calcular el número de meses exacto se tienen que sumar los días de los años bisiestos.

Tengo una macro que te calcula el tiempo exacto, déjame buscarla y te la envío.

Saludos. Dam

Hola Dam

Mira En la Columna G tengo las Fechas de nacimiento y en la columna H tengo la formula =Si(G1;Hoy();"Y") y me calcula la edad pero cuando hago la pregunta If (Cells(i, "E") = "Asistente") And (Cells(i, "E") < "18") Then Me presenta error Aun no he probado con esta que me mandaste

Gracias

Att

Jhonpe

La variable i, tiene que tener un valor previamente establecido

Dam Como estás?

esta es la macro y la linea en negrita es que me sale error

Sub Jóvenes()

Application.ScreenUpdating = False

Sheets("Listado General").Select

Sheets("Jóvenes").Cells.Clear

Columns(1).ColumnWidth = 4

Columns(2).ColumnWidth = 40

j = 2

cons = 1

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row

If (Cells(i, "E") = "Asistente") Or (Cells(i, "E") = "Simpatizante") And (Cells(i, "H") < 25) Then

Sheets("Jóvenes").Cells(j, "A") = cons

Sheets("Jóvenes").Cells(j, "B") = Cells(i, "B") cons =

cons + 1

j = j + 1

End If

Next Range("A1").Select Sheets("Jóvenes").Select

Application.ScreenUpdating = True

End Sub

Como te comentaba no se si es porque la celda de fecha de nacimiento (Columna G) que contiene los datos de fecha de nacimiento y que está en la hoja de "Listado General" yo le coloque a la Columna I La formula =Si(G1;Hoy();"Y"), Donde el dato lo saca por formula y la macro no entiende ese valor es lo que yo creo ¿Que piensas tu?

Gracias por tu apoyo

Jhonpe

Pero está fórmula está incompleta

=Si(G1;Hoy();"Y")

Falta la condición si G1 qué (si es igual =, o mayor >, etc)

Pero si tienes bien la fórmula y te regresa un número la macro no tiene problemas, ¿qué error te genera?

O si prefieres Puedes enviarme un archivo con ejemplos y con la macro para hacer pruebas.

Listo Dam

Te he acabado de enviar el archivo

Gracias

Jhonpe

La macro está bien, tienes un error en la fórmula =SI(G115>0, SIFECHA(G115, HOY(),"Y"),""), lo que sucede es que la fecha de nacimiento en la fila 115 dice 20/09/2013 y creo que no puede hacer un calculo, porque todavía no nace.

Puedes cambiar la fórmula por esto, te hice la corrección de la fórmula en la celda H115 y H432

=SI(G115>0, SI(ESERROR(SIFECHA(G115, HOY(),"Y")),"Y", SIFECHA(G115, HOY(),"Y")),"")

También le quité las comillas al 25 que tienes en la macro

And (Cells(i, "H") < 25) Then

Te envié el archivo con los cambios.

Saludos. Dam
Si es lo que necesitas.

Dam Muchísimas Gracias fue muy útil tu intervención y colaboración.

Bendiciones y que estés muy bien.

Jhon Jairo Peralta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas