José luis leal 0 Posted January 15, 2016 Report Share Posted January 15, 2016 (edited) Boa tarde! Desde já os meus parabéns pela vossa disponibilidade para ajudar. Cnsegui este código vba aplicado no exemplo calculaHoras_2009 e faz tempo que ando a procura de algo muito parecido, na realidade este é o que mais se aproxima da solução que procuro, (apenas) precisava que fosse incluída uma pausa para almoço. Tipo entrada 08:00:00, p/Almoço 12:30:00 Inicio Período da Tarde 13:30:00, Fim 18:00:00. Bom Fim de Semana e Muito Obrigado Option Compare Database Public Function GetElapsedTime(interval) ' fonte Microsoft ' http://support.microsoft.com/kb/210604/pt-br Dim totalhours As Long, totalminutes As Long, totalseconds As _ Long Dim days As Long, hours As Long, minutes As Long, Seconds As Long days = Int(CSng(interval)) totalhours = Int(CSng(interval * 24)) totalminutes = Int(CSng(interval * 1440)) totalseconds = Int(CSng(interval * 86400)) hours = totalhours Mod 24 minutes = totalminutes Mod 60 Seconds = totalseconds Mod 60 GetElapsedTime = days & " Dias " & hours & " Horas " & minutes & _ " Minutos " & Seconds & " Segundos " End Function Public Function HoraDecimal(dHora As Variant) ''Converte data/hora para formato decimal ''Autor: Carlos Moura - crpmoura@ig.com.br Dim lngDia As Long, intervalo As Double Dim H1 As Long, H2 As Double, dblHora As Double If VarType(dHora) < 7 And VarType(dHora) > 5 Then Exit Function intervalo = CDbl(dHora) lngDia = Int(intervalo) H1 = lngDia * 24 dblHora = (intervalo - lngDia) H2 = dblHora * 24 HoraDecimal = Format(H1 + H2, "#0.00") End Function Edited January 15, 2016 by José luis leal Link to post Share on other sites
tiago.f 22 Posted January 15, 2016 Report Share Posted January 15, 2016 Olá José, gostava muito de ajudar mas não consigo perceber o que queres. Queres que seja considerada uma pausa para almoçar.....no quê exactamente? O código que mostras tem 2 funções: - uma que recebe um número decimal (ex: 1,5) e devolve um texto que representa o tempo (ex: "1 dias 12 horas 0 minutos 0 segundos" - outra que, me parece à partida, faz o contrário. Resumindo: o código que passas aqui não faz sentido para a pergunta que tens. Podes explicar melhor o que pretendes? Já agora, o teu post aqui: https://www.portugal-a-programar.pt/topic/72632-incluir-pausa-de-almoco-e-limitar-dia-util-a-800-horas/ calculo que seja o mesmo problema. Sugiro ao moderador que junte estes 2 tópicos. Cumprimentos Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now