Esse é pra quem calcula diferenca em segundos e depois quer escrever o valor em minutos ou horas.
Exemplo, você tem um intervalo de 80 segundos e quer transformar em 1 minuto e 20 segundos.
ou tem 3600 segundos e quer transformar em 1 hora.
Note q se você tem o valor em minutos e quer transformar em hora é só multiplicar por 60 e usar a funcao abaixo.
Essa funcao vai transformar no formato H:MM:SS. caso você queira um formato diferente, é simples, é so editar no final onde a string é montada, sem se preocupar com os calculos.
A funcao tb suporta valores negativos, pondo um sinal de - na frente (exemplo -80, vai retornar - 0:01:20):
Public Function MontaHora(ByVal Seg As Long) As String Dim Hor As Long, Min As Long
If Seg < 0 Then MontaHora = "- " Seg = Abs(Seg) Else MontaHora = "" End If
Hor = Seg \ 3600& Seg = Seg - (Hor * 3600&)
Min = Seg \ 60& Seg = Seg - (Min * 60&)
MontaHora = MontaHora & Hor & ":" & _ Format(Min, "0#") & ":" & _ Format(Seg, "0#") End Function[/code]
EDITADO:
dei uma melhorada na funcao, q o codigo estava muito ruim (28/10/2010).
Pergunta
kuroi
Esse é pra quem calcula diferenca em segundos e depois quer escrever o valor em minutos ou horas.
Exemplo, você tem um intervalo de 80 segundos e quer transformar em 1 minuto e 20 segundos.
ou tem 3600 segundos e quer transformar em 1 hora.
Note q se você tem o valor em minutos e quer transformar em hora é só multiplicar por 60 e usar a funcao abaixo.
Essa funcao vai transformar no formato H:MM:SS. caso você queira um formato diferente, é simples, é so editar no final onde a string é montada, sem se preocupar com os calculos.
A funcao tb suporta valores negativos, pondo um sinal de - na frente (exemplo -80, vai retornar - 0:01:20):
Editado por kuroiLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.