Visual Basic - ¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Life is soft - evento anual de software empresarial
   
Vista:

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por Giovanny (1 intervención) el 13/11/2014 16:59:28
Deseo calcular la edad desde la fecha de nacimiento automáticamente, tengo 2 TextBox, en una colocar la fecha y en el otro que me salga automáticamente la edad.

27b09f43a6b64a0d8059b05083eecd19_A
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por Juan Gilberto (278 intervenciones) el 14/11/2014 19:23:19
Utiliza la funcion DateDiff

1
2
3
4
5
Dim Edad As Integer
 
Edad = DateDiff( "yyyy", CDate(Text1.Text), Date)
 
Text2.Text = Format(Edad)

Estoy suponiendo que el textbox donde tienes la fecha de nacimiento es el Text1 y que la respuesta la quieres en Text2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por Roberto F. (10 intervenciones) el 14/11/2014 19:33:34
Hay que tener cuidado con esta formula, ya que por ejemplo:

DateDiff("yyyy", "01/12/2000", "14/11/2014")

devuelve 14 cuando realmente hsata el día 1 de diciembre no cumple los 14 años, es decir... solo tiene aún 13
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por Roberto F. (10 intervenciones) el 14/11/2014 19:29:11
Puedes usar dos cosas:

Si es una formula en excel:

= SIFECHA ( celda ; AHORA() ; "y" )

Pero si es directamente en VBA:

Function Edad(FechaNac As Date)
Dim Años As Integer

Años = Year(Now) - Year(FechaNac)
If Month(Now) < Month(FechaNac) Then Años = Años - 1 'todavía no ha llegado el mes de su cumple
If Month(Now) = Month(FechaNac) And Day(Now) < Day(FechaNac) Then Años = Años - 1 'es el mes pero no ha llegado el día de su cumple

Edad = Años
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JoaoM

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por JoaoM (72 intervenciones) el 15/11/2014 18:54:49
Tengo esta formula. No es mia si no que la tengo guardada desde hace tiempo que me la pasaron
Formula en I3
=SIFECHA(G3;H3;"Y")&" "&"Años,"&" "&SIFECHA(G3;H3;"YM")&" "&"Meses y"&" "&SIFECHA(G3;H3;"MD")&" "&"Dias"

en G3 fecha de nacimiento
en H3 fecha actual =HOY()
-------------------------------
Por celda

En G4 H4 y I4

En G4 =SIFECHA(G3;H3;"Y")&" años, "
En H4 =SIFECHA(G3;H3;"ym")&" meses y "
y
En I4 =SIFECHA(G3;H3;"md")&" días"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JoaoM

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por JoaoM (72 intervenciones) el 15/11/2014 18:59:05
Si no es mollestia Roberto,podrias pasar la macro en VBA Excel completa? me interesa y yo con macros, nanay nanay, solo lo basico de basico.

Solo tengo que crear un form con 2 TextBox?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por Roberto F. (10 intervenciones) el 16/11/2014 03:59:18
Hola:

¿completa?

Bueno...simplemente añades la función que he puesto en un módulo

y luego la puedes usar sin mas..

Text2.Text = Edad(CDate(Text1.Text)) & " años."


Lo suyo seria ponerle chequeos....
If isdate(Text1.text) then
Text2.Text = Edad(CDate(Text1.Text)) & " años."
else
Text2.Text = ""
end if


Supongo que te refieres a esto... o a obtener los años, meses y días?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JoaoM

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por JoaoM (72 intervenciones) el 16/11/2014 04:33:34
Si, es decir,

La macro que obtenga tal como esta formula
1
=SIFECHA(G3;H3;"Y")&" "&"Años,"&" "&SIFECHA(G3;H3;"YM")&" "&"Meses y"&" "&SIFECHA(G3;H3;"MD")&" "&"Dias"

pero claro y repito, en macro y no formula

¿Se puede?

Tu macro presenta años pero no dias, en mi caso presenta 66 años y los meses y dias?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por Roberto F. roberto@delacoba.com (10 intervenciones) el 17/11/2014 01:58:25
¿Se puede......?

Yo solía decir en clase que todo se puede...

Te podría servir esta función...hecha de otra manera.

Partiendo de la fecha de nacimiento, le va sumando los años completos que ha cumplido, despues los meses y finalmente los dias.

Function Edad(FechaNac As Date)
Dim Años As Integer
Dim Meses As Integer
Dim Dias As Integer
Dim FechaCalculo As Date

FechaCalculo = FechaNac

If FechaNac > Date Then
Edad = "Error. Fecha futura"
Exit Function
End If

Do While DateAdd("YYYY", 1, FechaCalculo) <= Date 'comprobamos los años que ha cumplido
Años = Años + 1
FechaCalculo = DateAdd("YYYY", 1, FechaCalculo) 'añadiendo años a la fecha de nacimiento
Loop

Do While DateAdd("m", 1, FechaCalculo) <= Date 'comprobamos los meses que ha cumplido
Meses = Meses + 1
FechaCalculo = DateAdd("m", 1, FechaCalculo) 'añadiendo meses
Loop

Do While DateAdd("d", 1, FechaCalculo) <= Date 'finalmente comprobamos los dias que ha cumplido
Dias = Dias + 1
FechaCalculo = DateAdd("d", 1, FechaCalculo)
Loop

Edad = Años & " Años, " & Meses & " meses y " & Dias & " dias."

End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JoaoM

¿Calcular la edad desde la fecha de nacimiento? - Visual Basic EXCEL?

Publicado por JoaoM (72 intervenciones) el 17/11/2014 02:29:43
Gracias Roberto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar