Urgente, Se puedo restar hora en VB?
Hola a toddos, lei por ahi sobre restar fecha
mi pregunta es; puedo restar hora? y como
lo hago. por favor es urgente =)
mi pregunta es; puedo restar hora? y como
lo hago. por favor es urgente =)
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.
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.
que pasa si tengo un rango de hora entre 17:00 y las 01:30? gracias
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
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