Calcular edad basado en fecha nacimiento
Publicado por haver (149 intervenciones) el 19/12/2006 19:49:52
Pues es un poquito mas complicado que solo insertar la formula....
Tengo en una hoja una serie de nombres y en otra otra serie de nombres, la segunda por lo general contiene mas nombres que la primera y contiene la fecha de nacimiento a su celda inmediata derecha...
necesito que localice al primer nombre de la hoja1 en la hoja2 que lea la fecha de nacimiento, que calcule su edad y que vuelva a la hoja 1 y pegue el dato a la derecha del correspondiente nombre. estaba probando con insertar una formula pero me perdi aqui te dejo mi codigo: (el error me dice que necesito un objeto?)
Sub edad()
Dim edad As Integer
Dim actor As String
Dim act As String
edad = 10
Do While Cells(edad, 2).Value <> ""
If ativesheet.Application <> "Formato Permanentes" Then
sheets("Formato Permanentes").Select
End If
actor = Cells(edad, 2).Value
sheets("Empleados_exportados").Select
Cells.Find(What:= _
actor, After:= _
activecell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
act = activecell.address
sheets("Formato Permanentes").Select
celda.Offset(0, 1).FormulaR1C1 = "=AÑO(HOY())-AÑO(Empleados_exportados!(act))-1 + (MES(HOY())>MES(Empleados_exportados!(act)) + MES(Empleados_exportados!(act))=MES(HOY()))*(DIA(HOY())>=DIA(Empleados_exportados!(act))"
Loop
End Sub
Tengo en una hoja una serie de nombres y en otra otra serie de nombres, la segunda por lo general contiene mas nombres que la primera y contiene la fecha de nacimiento a su celda inmediata derecha...
necesito que localice al primer nombre de la hoja1 en la hoja2 que lea la fecha de nacimiento, que calcule su edad y que vuelva a la hoja 1 y pegue el dato a la derecha del correspondiente nombre. estaba probando con insertar una formula pero me perdi aqui te dejo mi codigo: (el error me dice que necesito un objeto?)
Sub edad()
Dim edad As Integer
Dim actor As String
Dim act As String
edad = 10
Do While Cells(edad, 2).Value <> ""
If ativesheet.Application <> "Formato Permanentes" Then
sheets("Formato Permanentes").Select
End If
actor = Cells(edad, 2).Value
sheets("Empleados_exportados").Select
Cells.Find(What:= _
actor, After:= _
activecell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
act = activecell.address
sheets("Formato Permanentes").Select
celda.Offset(0, 1).FormulaR1C1 = "=AÑO(HOY())-AÑO(Empleados_exportados!(act))-1 + (MES(HOY())>MES(Empleados_exportados!(act)) + MES(Empleados_exportados!(act))=MES(HOY()))*(DIA(HOY())>=DIA(Empleados_exportados!(act))"
Loop
End Sub
Valora esta pregunta


0