En primer lugar, gracias por responder tanto a Jacinto como a Icue Gonzalez, decir que antes de realizar la pregunta estuve mirando por la red y todo lo que había era muy enrevesado o daban error. En cuanto a la función que me pasa Icue la he realizado pero me daba error incluso me salía la fecha (años) en negativo.
He encontrado una respuesta que dio Sveinbjorn El Rojo el 11 de Julio de 2013, he intentado adaptarla, pero no doy con el resultado, me podríais decir que tendría que cambiar para adaptarla mejor. Por ejemplo inserto la siguiente fecha y me da el siguiente resultado: Fecha alta: 01/01/17 y Fecha Baja: 11/11/17 me da como resultado: 10 meses; o si inserto 26/11/13
25/11/16 me da como resultado: 3 años y -1 meses y 0 dia
La función era para calcular la antigüedad de un trabajador en años y meses
Public Function fncAntiguedad(FechaAlta As Date, FechaBaja As Date) As String
Dim vAño As Double
Dim vMes As Double
Dim vDia As Double
If IsNull(FechaAlta) Or IsNull(FechaBaja) Then fncAntiguedad = "": Exit Function
If Month(FechaAlta) > Month(FechaBaja) Then
vAño = DateDiff("yyyy", FechaAlta, FechaBaja) - 1
Else
vAño = DateDiff("yyyy", FechaAlta, FechaBaja)
End If
If Day(FechaAlta) > Day(FechaBaja) Then
vMes = DateDiff("m", DateAdd("yyyy", vAño, FechaAlta), FechaBaja) - 1
Else
vMes = DateDiff("m", DateAdd("yyyy", vAño, FechaAlta), FechaBaja)
End If
Select Case vAño
Case 0
Select Case vMes
Case 0
vDia = DateDiff("d", FechaAlta, FechaBaja)
fncAntiguedad = vDia & IIf(vDia = 1, " día", " días ")
Case 1
fncAntiguedad = vMes & " mes"
Case Else
fncAntiguedad = vMes & " meses "
End Select
Case 1
Select Case vMes
Case 0
fncAntiguedad = vAño & " año"
Case 1
fncAntiguedad = vAño & " año y " & vMes & " mes y " & vDia & " dia"
Case Else
fncAntiguedad = vAño & " año y " & vMes & " meses y " & vDia & " dia"
End Select
Case Else
Select Case vMes
Case 0
fncAntiguedad = vAño & " años"
Case 1
fncAntiguedad = vAño & " años y " & vMes & " mes y " & vDia & " dia"
Case Else
fncAntiguedad = vAño & " años y " & vMes & " meses y " & vDia & " dia"
End Select
End Select
End Function