Muy bueno el ejercicio!!
Aqui dejo el mini proyecto que hice:
http://myfreefilehosting.com/f/189ac8d9a1_0.03MB
Y el codigo que usé:
Código vb:
Ver originalPrivate Sub Command1_Click()
Dim Mes(12) As Integer, Fecha1 As Date, Fecha2 As Date
Dim TotalMes As Long, TotalAno As Long
Dim Aux As Long, Aux2 As Long, DiferenciaDias As Long
Fecha1 = DTPicker1.Value
Fecha2 = DTPicker2.Value
Mes(1) = 31
Aux = DatePart("yyyy", Fecha1)
If ((Aux / 4 = 0 And Aux / 100! = 0) Or Aux / 400 = 0) Then
Mes(2) = 29
Else
Mes(2) = 28
End If
Mes(3) = 31
Mes(4) = 30
Mes(5) = 31
Mes(6) = 30
Mes(7) = 31
Mes(8) = 31
Mes(9) = 30
Mes(10) = 31
Mes(11) = 30
Mes(12) = 31
TotalAno = 0
TotalMes = 0
DiferenciaDias = 0
Aux2 = 0
Aux = DatePart("m", Fecha1)
DiferenciaDias = DateValue(Fecha2) - DateValue(Fecha1)
Aux2 = DiferenciaDias
Do While Aux2 > 0
If Aux = 12 Then
Aux = 1
Else
Aux = Aux + 1
End If
Aux2 = (Aux2 - Mes(Aux))
TotalMes = TotalMes + 1
Loop
If Aux2 < 0 Then TotalMes = TotalMes - 1
TotalAno = TotalMes / 12
MsgBox "Total de dias...: " & FormatNumber(DiferenciaDias, 0) & vbNewLine & _
"Total de mes...: " & FormatNumber(TotalMes, 0) & vbNewLine & _
"Total años......: " & FormatNumber(TotalAno, 0)
End Sub
Private Sub Form_Load()
DTPicker1.Value = Date
DTPicker2.Value = Date
End Sub
Usé una referencia a Microsoft Windows Common Controls 2.6 para usar un DTPicker para la seleccion de las fechas, el resto en un Command Button.
!!