Qué código debo incluir en una función personalizada para calcular la edad

He creado una función peronalizada con el siguiente código para calcular la edad de una persona y aunque no me da ningún error el resultado que obtengo es un valor cero:

Public Function EDAD(dteFechNac) As Integer
Dim dteFechActual As Date
dteFechActual = Date
    dteAñoActual = Year(dteFechActual)
    dteAñoNac = Year(dteFechNac)
    intEdad = dteAñoActual - dteAñoNac
End Function

2 Respuestas

Respuesta
2

Para calcular la edad puedes utilizar la función DateDiff( ), te calcula los años exactos considerando el mes y el día, podría ser así:

Public Function edad(dteFechNac) As Integer
    edad = DateDiff("yyyy", dteFechNac, Date)
End Function

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Respuesta
1

No mandabas el resultado a tu UDF:

Public Function EDAD(dteFechNac) As Integer
Dim dteFechActual As Date
Dim dteAñoActual  As Integer, dteAñoNac  As Integer, intEdad  As Integer
Application.Volatile True
Let dteFechActual = Date
Let dteAñoActual = Year(dteFechActual)
Let dteAñoNac = Year(dteFechNac)
Let intEdad = dteAñoActual - dteAñoNac
Let EDAD = intEdad
End Function

Como ejercicio está bien, si tomas en cuenta el día/mes de nacimiento sí tendrás un desfaz pero creo que si trabajas más tu función, podrás ajustarla.

Salu2

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas