SUBTRACAO DE HORAS
Pessoal
tenho uma macro onde são informada a hora inicial e hora final, tenho tembem um terceiro campo que é o total de horas trabalhadas, que deve ser a hora final - a hora inicial. O problema é quanto o turno passa da meia noite. Não consigo ajustar isso. Alguem pode me ajudar???
Abaio o codigo que estou usando:
Private Sub txthf_AfterUpdate()
[ô] formato hh:mm
hora = Left(txthf.Value, 2)
If hora > 30 Then
MsgBox [Ô]Hora Invalida[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
minuto = Right(txthf.Value, 2)
If minuto > 59 Then
MsgBox [Ô]Minuto Invalido[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
Minhahora = Format(hora & [Ô]:[Ô] & minuto, [Ô]HH:MM[Ô])
horafinal = CDate(Minhahora)
txthf.Value = Format(horafinal, [Ô]HH:MM[Ô])
horadisponivel = horafinal - CDate(txthi.Value)
txthdt.Value = Format(horadisponivel, [Ô]HH:MM[Ô])
Exit Sub
End Sub
tenho uma macro onde são informada a hora inicial e hora final, tenho tembem um terceiro campo que é o total de horas trabalhadas, que deve ser a hora final - a hora inicial. O problema é quanto o turno passa da meia noite. Não consigo ajustar isso. Alguem pode me ajudar???
Abaio o codigo que estou usando:
Private Sub txthf_AfterUpdate()
[ô] formato hh:mm
hora = Left(txthf.Value, 2)
If hora > 30 Then
MsgBox [Ô]Hora Invalida[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
minuto = Right(txthf.Value, 2)
If minuto > 59 Then
MsgBox [Ô]Minuto Invalido[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
Minhahora = Format(hora & [Ô]:[Ô] & minuto, [Ô]HH:MM[Ô])
horafinal = CDate(Minhahora)
txthf.Value = Format(horafinal, [Ô]HH:MM[Ô])
horadisponivel = horafinal - CDate(txthi.Value)
txthdt.Value = Format(horadisponivel, [Ô]HH:MM[Ô])
Exit Sub
End Sub
Isso tem aqui e vários.
tempo = Text1.Text
Tempos = Text2.Text
Interval = #12:00:00 AM#
[ô]Interval = Interval + Tempo
Interval = CDate(tempo) - CDate(Tempos)
totalhours = Int(CSng(Interval * 24))
totalminutes = Int(CSng(Interval * 1440))
minutes = totalminutes Mod 60
hours = totalhours Mod 24
Text3.Text = Format(totalhours & [Ô]:[Ô] & minutes, [Ô]hh:mm[Ô])
Acho que da certo.
tempo = Text1.Text
Tempos = Text2.Text
Interval = #12:00:00 AM#
[ô]Interval = Interval + Tempo
Interval = CDate(tempo) - CDate(Tempos)
totalhours = Int(CSng(Interval * 24))
totalminutes = Int(CSng(Interval * 1440))
minutes = totalminutes Mod 60
hours = totalhours Mod 24
Text3.Text = Format(totalhours & [Ô]:[Ô] & minutes, [Ô]hh:mm[Ô])
Acho que da certo.
não deu certo!!!!
tenho essas duas macros
Private Sub txthi_AfterUpdate()
[ô] formato hh:mm
hora = Left(txthi.Value, 2)
If hora > 23 Then
MsgBox [Ô]Hora Invalida[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthi.SetFocus
txthi.Value = [Ô][Ô]
Exit Sub
End If
minuto = Right(txthi.Value, 2)
If minuto > 59 Then
MsgBox [Ô]Minuto Invalido[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthi.SetFocus
txthi.Value = [Ô][Ô]
Exit Sub
End If
Minhahora = Format(hora & [Ô]:[Ô] & minuto, [Ô]HH:MM[Ô])
horafinal = CDate(Minhahora)
txthi.Value = Format(horafinal, [Ô]HH:MM[Ô])
End Sub
Private Sub txthf_AfterUpdate()
[ô] formato hh:mm
hora = Left(txthf.Value, 2)
If hora > 30 Then
MsgBox [Ô]Hora Invalida[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
minuto = Right(txthf.Value, 2)
If minuto > 59 Then
MsgBox [Ô]Minuto Invalido[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
Minhahora = Format(hora & [Ô]:[Ô] & minuto, [Ô]HH:MM[Ô])
horafinal = CDate(Minhahora)
txthf.Value = Format(horafinal, [Ô]HH:MM[Ô])
horadisponivel = horafinal - CDate(txthi.Value)
txthdt.Value = Format(horadisponivel, [Ô]HH:MM[Ô])
Exit Sub
End Sub
No txthdt deve ter a subtração do txthf - txthi, porem dá erro quando tenho um turno que começa as 15:30hs e terminas as 01:30hs da madrugada.
Alguem pode me ajudar ???
Private Sub txthi_AfterUpdate()
[ô] formato hh:mm
hora = Left(txthi.Value, 2)
If hora > 23 Then
MsgBox [Ô]Hora Invalida[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthi.SetFocus
txthi.Value = [Ô][Ô]
Exit Sub
End If
minuto = Right(txthi.Value, 2)
If minuto > 59 Then
MsgBox [Ô]Minuto Invalido[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthi.SetFocus
txthi.Value = [Ô][Ô]
Exit Sub
End If
Minhahora = Format(hora & [Ô]:[Ô] & minuto, [Ô]HH:MM[Ô])
horafinal = CDate(Minhahora)
txthi.Value = Format(horafinal, [Ô]HH:MM[Ô])
End Sub
Private Sub txthf_AfterUpdate()
[ô] formato hh:mm
hora = Left(txthf.Value, 2)
If hora > 30 Then
MsgBox [Ô]Hora Invalida[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
minuto = Right(txthf.Value, 2)
If minuto > 59 Then
MsgBox [Ô]Minuto Invalido[Ô], vbCritical, [Ô]ATENÇÃO[Ô]
txthf.SetFocus
txthf.Value = [Ô][Ô]
Exit Sub
End If
Minhahora = Format(hora & [Ô]:[Ô] & minuto, [Ô]HH:MM[Ô])
horafinal = CDate(Minhahora)
txthf.Value = Format(horafinal, [Ô]HH:MM[Ô])
horadisponivel = horafinal - CDate(txthi.Value)
txthdt.Value = Format(horadisponivel, [Ô]HH:MM[Ô])
Exit Sub
End Sub
No txthdt deve ter a subtração do txthf - txthi, porem dá erro quando tenho um turno que começa as 15:30hs e terminas as 01:30hs da madrugada.
Alguem pode me ajudar ???
Isto é feito e vb6.
Private Sub Command1_Click()
Text1.Text = [Ô]17/04/2013 01:35:00[Ô]
Text2.Text = [Ô]16/04/2013 07:00:00[Ô]
Tempo = Text2.Text
tempos =Text1.Text
[ô]Tempo = #3/2/2012 7:34:00 PM#
[ô]tempos = #3/2/2012 8:14:00 PM#
Interval = #12:00:00 AM#
[ô]Interval = Interval + Tempo
Interval = CDate(tempos) - CDate(Tempo)
totalhours = Int(CSng(Interval * 24))
totalminutes = Int(CSng(Interval * 1440))
minutes = totalminutes Mod 60
hours = totalhours Mod 24
Text3.Text = Format(totalhours & [Ô]:[Ô] & minutes, [Ô]hh:mm[Ô])
End Sub
Private Sub Command1_Click()
Text1.Text = [Ô]17/04/2013 01:35:00[Ô]
Text2.Text = [Ô]16/04/2013 07:00:00[Ô]
Tempo = Text2.Text
tempos =Text1.Text
[ô]Tempo = #3/2/2012 7:34:00 PM#
[ô]tempos = #3/2/2012 8:14:00 PM#
Interval = #12:00:00 AM#
[ô]Interval = Interval + Tempo
Interval = CDate(tempos) - CDate(Tempo)
totalhours = Int(CSng(Interval * 24))
totalminutes = Int(CSng(Interval * 1440))
minutes = totalminutes Mod 60
hours = totalhours Mod 24
Text3.Text = Format(totalhours & [Ô]:[Ô] & minutes, [Ô]hh:mm[Ô])
End Sub
Faça seu login para responder