Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06-11-2006, 12:55:25
samgar samgar is offline
Un Nuevo Amigo
 
Registrado: oct 2006
Posts: 4
samgar Valoración +2
Predeterminado Obtener, dias meses y años en excel

Ok, agradezco la ayuda, pero no se como funciona, ¿que debo hacer?, cargarla como macro, y despues ¿como la hago funcionar?....disculpa la ignorancia.

Claudio





Cita:
Empezado por mitimae
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
__________________
Dios te Ama
Responder Con Cita