Notifications
Clear all

Alterar Horas para Minutos

6 Posts
3 Usuários
0 Reactions
1,748 Visualizações
(@romanholi)
Posts: 0
New Member
Topic starter
 

Pessoal, bom dia!

Tenho dois textbox's (Inicio e Término) de horas trabalhadas.
Hoje, quando eu digito a hora final ele me calcula num outro text a diferença entre horas. Quem me ajudou com essa macro foi o Basoli, que por sinal funciona perfeitamente!

Porém preciso alterar para que o resultado seja em minutos. Mas não consigo fazer isso!

Será que alguem poderia me ajudar:

A fómula na Excel fica assim:
=(HoraTermino - HoraInicio + (--HoraInicio > HoraTermino))*24*60

Desta forma ele calula a difernça em minutos.
Preciso adaptar o código abaixo para dar esse resultado:

Private Sub Txt_Horas_Termino_AfterUpdate()
    Dim Tempo As Double, tString As String

On Error Resume Next
    With Txt_Horas_Termino
                  
        If InStr(1, .Value, ":", vbTextCompare) = 0 And Len(.Value) > 1 Then
            tString = VBA.Format(.Value, "0000")
            tString = VBA.Left(tString, 2) & ":" & VBA.Right(tString, 2)
            .Value = VBA.Format(TimeValue(tString), "hh:mm")
        Else
            .Value = VBA.Format(.Value, "hh:mm")
        End If
        
       If Txt_Horas_Inicio.Text = "" Then
           MsgBox "Informe o horario de inicio !", 64, "Atengco"
           .Value = ""
           Txt_Horas_Inicio.SetFocus
            Exit Sub
        Else

        If Abs(CDate(.Value) - CDate(Txt_Horas_Inicio.Value)) * 24 < 1 Then
            Tempo = Abs(CDate(.Value) - CDate(Txt_Horas_Inicio.Value)) * (24 * 60) / 100
            Else
            Tempo = Abs(CDate(.Value) - CDate(Txt_Horas_Inicio.Value)) * 24
            End If

            Txt_Horas_Total.Value = VBA.Format(Tempo, "00.00")

        End If

    End With

End Sub

Embora o Basoli tenha me ajudado, resolvi postar aqui, pois tenho sobrecarregado o amigo com muitas perguntas!

Obrigado Pessoal

 
Postado : 14/02/2017 7:23 am
(@skulden)
Posts: 0
New Member
 

Não é mais fácil pegar o resultado em horas e transformar pra minutos? É só multiplicar o resultado por 60.

 
Postado : 14/02/2017 8:26 am
(@romanholi)
Posts: 0
New Member
Topic starter
 

Já tentei fazer isso, mas não dá certo quando passa das 00:00!

Exemplo:
23:00 as 02:00

Com a fórmula que eu coloquei no post e queria adaptar dá certo:

Em suma:

Preciso subistituir:

Abs(CDate(.Value) - CDate(Txt_Horas_Inicio.Value)) * (24 * 60) / 100

Por:

=(HoraTermino - HoraInicio + (--HoraInicio > HoraTermino))*24*60

Eu tentei, mas está dando problema!

Obrigado pelo retorno skulden!

 
Postado : 14/02/2017 9:15 am
(@romanholi)
Posts: 0
New Member
Topic starter
 

Pessoal, bom dia!

Fiz um anexo para facilitar a ajuda que preciso!

Poderiam dar uma olhada, por favor!

Preciso que o calculo entre a hora inicial e final no total seja em minutos!

Obrigado meus amigos!

 
Postado : 23/02/2017 5:31 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se atende

 
Postado : 23/02/2017 6:27 am
(@romanholi)
Posts: 0
New Member
Topic starter
 

Grande Reinaldo, é isso mesmo, PERFEITO!
Muitíssimo OBRIGADO

 
Postado : 23/02/2017 6:40 am