saludos :smt001
aca entrego una secuencia (es mi primer mensaje aqui :P)
espero te guste saca una diferencia en dias, entre una cantidad de años
y esta fijada a un boton para excel
Private Sub CommandButton1_Click()
tc = Val(InputBox("ingrese un año ", "Inicio", 0))
x = InputBox("ingrese un dia de este año ", "Inicio", 1)
y = InputBox("ingrese un mes de este año ", "Inicio", 1)
If tc Mod 4 = 0 Then
If x > 29 And y = 2 Then
MsgBox ("Error Febrero sólo tiene 29 dias como maximo")
End
ElseIf y = 1 Xor y = 3 Xor y = 5 Xor y = 7 Xor y = 8 Xor y = 10 Xor y = 12 Then
If x > 31 Then
MsgBox ("Error, este mes no tiene mas de 31 dias")
End
End If
ElseIf y = 4 Xor y = 6 Xor y = 9 Xor y = 11 Then
If x > 30 Then
MsgBox ("Error, este mes no tiene mas de 30 dias")
End
End If
End If
Else
If x > 28 And y = 2 Then
MsgBox ("Error Febrero sólo tiene 28 dias como maximo")
End
ElseIf y = 1 Xor y = 3 Xor y = 5 Xor y = 7 Xor y = 8 Xor y = 10 Xor y = 12 Then
If x > 31 Then
MsgBox ("Error, este mes no tiene mas de 31 dias")
End
End If
ElseIf y = 4 Xor y = 6 Xor y = 9 Xor y = 11 Then
If x > 30 Then
MsgBox ("Error, este mes no tiene mas de 30 dias")
End
End If
End If
End If
If y > 12 Then
MsgBox ("Error, No Existen mas de 12 meses")
End
End If
td = Val(InputBox("ingrese un año ", "Inicio", 1))
z = InputBox("ingrese un dia de este año ", "Inicio", 1)
w = InputBox("ingrese un mes de este año ", "Inicio", 1)
If w > 12 Then
MsgBox ("Error, No Existen mas de 12 meses")
End
End If
If td Mod 4 = 0 Then
If z > 29 And y = 2 Then
MsgBox ("Error Febrero sólo tiene 29 dias como maximo")
End
ElseIf y = 1 Xor y = 3 Xor y = 5 Xor y = 7 Xor y = 8 Xor y = 10 Xor y = 12 Then
If z > 31 Then
MsgBox ("Error, este mes no tiene mas de 31 dias")
End
End If
ElseIf y = 4 Xor y = 6 Xor y = 9 Xor y = 11 Then
If z > 30 Then
MsgBox ("Error, este mes no tiene mas de 30 dias")
End
End If
End If
Else
If z > 28 And w = 2 Then
MsgBox ("Error Febrero sólo tiene 28 dias como maximo")
End
ElseIf w = 1 Xor w = 3 Xor w = 5 Xor w = 7 Xor w = 8 Xor w = 10 Xor w = 12 Then
If z > 31 Then
MsgBox ("Error, este mes no tiene mas de 31 dias")
End
End If
ElseIf w = 4 Xor w = 6 Xor w = 9 Xor w = 11 Then
If z > 30 Then
MsgBox ("Error, este mes no tiene mas de 30 dias")
End
End If
End If
End If
dias = 0
For a = 1 To y - 1
If a = 1 Xor a = 3 Xor a = 5 Xor a = 7 Xor a = 8 Xor a = 10 Xor a = 12 Then
lala = 31
ElseIf a = 4 Xor a = 6 Xor a = 9 Xor a = 11 Then
lala = 30
ElseIf a = 2 Then
If tc Mod 4 = 0 Then
lala = 29
Else
lala = 28
End If
End If
dias = dias + lala
Next a
dias = dias + x
For b = 1 To w - 1
If b = 1 Xor b = 3 Xor b = 5 Xor b = 7 Xor b = 8 Xor b = 10 Xor b = 12 Then
days = 31
ElseIf b = 4 Xor b = 6 Xor b = 9 Xor b = 11 Then
days = 30
ElseIf b = 2 Then
If td Mod 4 = 0 Then
days = 29
Else
days = 28
End If
End If
diaz = diaz + days
Next b
diaz = diaz + z
years = 0
If tc > td Then
p = td
td = tc
tc = p
End If
For i = tc To td - 1
If i Mod 4 = 0 Then
año = 366
Else
año = 365
End If
years = years + año
Next i
dif = Abs(years) - dias + diaz
MsgBox ("Estas Fechas distan en " & dif & " Días")
End Sub
ahora si quieres puedes transformar los dias a años y meses...
espero sea de utilidad :P
y ojala no tenga errores :P |