quinta-feira, 6 de fevereiro de 2014

Função em Excel 2007 para transformar Horas em Decimal

A célula onde está o valor de horas tem que estar no formato hhh:mm:ss formatada com o texto

Código da função:

Function Hora2Decimal(Hora As String) As Double
    Dim sHoras As String
    Dim sMinuto As String
    Dim sSegundo As String
    Dim iHora As Integer
    Dim iMinuto As Integer
    Dim iSegundo As Integer
    sHoras = Left(Hora, Len(Hora) - 6)
    sMinuto = Mid(Hora, Len(Hora) - 4, 2)
    sSegundo = Right(Hora, 2)
    iHora = CInt(sHoras)
    iMinuto = CInt(sMinuto)
    iSegundo = CInt(sSegundo)
    Hora2Decimal = CLng(iHora) + (iSegundo / 3600) + (iMinuto / 60)
End Function

Este código deve ser colocado em um módulo.


Exemplo:



Chamada da função:


Nenhum comentário:

Postar um comentário