Urgente, Se puedo restar hora en VB?

c4rlos
16 de Noviembre del 2004
Hola a toddos, lei por ahi sobre restar fecha
mi pregunta es; puedo restar hora? y como
lo hago. por favor es urgente =)

Bartolom
16 de Noviembre del 2004
Sí, se puede, utilizando la función TimeValue.
Supongamos que llamas t1 y t2 a las variables de tiempo que quieres restar y que éstas se encuentran en 2 cajas de texto, Caja1 y Caja2, estamos? Luego, el resultado de esta resta lo colocas en una caja de texto que se llamará Tiempo, ok?
Acá va el código:

Dim t1 As Variant
Dim t2 As Variant

t1 = Format(Caja1.Text.Text, "hh:mm:ss")
t2 = Format(Caja2.Text, "hh:mm:ss")

Tiempo.Text = Format(TimeValue(t2) - TimeValue(t1), "hh:mm:ss")

Y ahí estaría el resultado.

anonimo
16 de Noviembre del 2004
que pasa si tengo un rango de hora entre 17:00 y las 01:30? gracias

anonimo
16 de Noviembre del 2004
ya solucione ese problema de esta forma:

Dim t1 As Variant
Dim t2 As Variant
Dim t3 As Date
t1 = Date & " " & Text3
t2 = Date & " " & Text4
If Hour(Text4) < Hour(Text3) Then
t3 = Date + 1
t1 = Date & " " & Text3
t2 = t3 & " " & Text4
txthoras = DateDiff("n", t1, t2)
txthoras = Format(txthoras, "#0.00#") / 60
Else
txthoras = DateDiff("n", t1, t2)
txthoras = Format(txthoras, "#0.00#") / 60

End If

espero les sirva a otras personas

saludos