Foros del Web » Soporte técnico » Ofimática »

Calcular edad con una macro

Estas en el tema de Calcular edad con una macro en el foro de Ofimática en Foros del Web. Compañeros(as) antes que todo saludarlos y esperar que esten bien, como siempre estoy dispuesto a recibir cualquier sugerencia o critica. Les cuento deseo hacer una ...
  #1 (permalink)  
Antiguo 13/04/2009, 08:08
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Calcular edad con una macro

Compañeros(as) antes que todo saludarlos y esperar que esten bien, como siempre estoy dispuesto a recibir cualquier sugerencia o critica.
Les cuento deseo hacer una macro que me me calcule la edad, para ello tengo esto hecho...

Código:
Public Function calcular_edad(ByVal fecha_nacimiento As Date) As Integer
Dim ahora As Date
ahora = Format(Now, "dd/MM/yyyy")
fecha = fecha_nacimiento
edad = DateDiff("yyyy", fecha, ahora)
calcular_edad = edad
End Function
Y la llamo de esta forma la funcion

Código:
Private Sub Worksheet_Activate()
Dim fechaNacimiento
fechaNacimiento = Cells(4, 3)
Cells(4, 5) = calcular_edad(fechaNacimiento)
End Sub
Pero segun esa fecha de nacimiento (25/08/1978) deberia arrojarme la edad de 30 años y me arroja 31 años y nose me ocurre como solucionar esto.

Bueno espero cualquier ayuda o sugerencia desde ya MUCHAS GRACIAS.

Saludos desde CHILE.
  #2 (permalink)  
Antiguo 13/04/2009, 08:15
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Calcular edad con una macro

te lo hace con todas las fechas? siempre sumándote 1 ? de ser así es fácil, restarle 1 año al total
  #3 (permalink)  
Antiguo 13/04/2009, 09:09
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Calcular edad con una macro

esunestudio claro es facil y practico restar un año ... pero mi idea es hacer que coincida minimo con el mes de cumpleaños .
Ejemplo:

Fecha Nacimiento:20/11/2008

Me arroja que tiene una edad de 1 año, y sabiendo por logica que no lleva ni 5 meses de vida.

Mas que todo hacer la edad exacta a traves de un macro.

Por ejemplo ocupando formulas en el mismo excel yo lo hago asi:

TuceldaDestino=AÑO(HOY())-AÑO(A10)-1 + (MES(HOY())>MES(A10)) + (MES(A10)=MES(HOY()))*(DIA(HOY())>=DIA(A10))

Con esto me funciona impeque....pero nose como llevar eso a una macro.

Bueno gracias nuevamente...seguire intentando.
  #4 (permalink)  
Antiguo 13/04/2009, 12:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Calcular edad con una macro

Podría ser algo como esto:
Código vb:
Ver original
  1. Año = DateDiff("yyyy", Fecha1, Fecha2)
  2. If Month(Fecha2) < Month(Fecha1) Or _
  3.         (Month(Fecha2) = Month(Fecha1) And Day(Fecha2) < Day(Fecha1)) Then
  4.     Año = Año - 1
  5. End If
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 13/04/2009, 14:16
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Calcular edad con una macro

David el Grande nuevamente gracias por tu respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:32.