Formatação Automática de Hora no Excel

A formatação de horas no Excel na sua digitação deve ser sempre feita utilizando “:” para separar os campos de hora e minuto 23:45.

Com esta função que adaptei para ficar mais rápida do livro VBA e Macros para Microsoft Office Excel 2007 você pode digitar os valores diretamente na célula, sem a necessidade de digitar os “:” o que torna o seu trabalho muito mais rápido.

Para isso você deve inserir o procedimento abaixo clicando no objeto do VBA diretamente na planilha que quer inserir a formatação conforme a figura.

Formatar dataFormatar hora – Clique para ampliar

Veja a seguir a função:

'No evento on Change é passada a posição que está sendo alterada
Private Sub Worksheet_Change(ByVal Target As Range)
'Se a coluna do endereço for "A" e o valor for maior que 1 aplica a formatação
    If Target.Column = 1 And Target.Value > 1 Then
        'Desliga a chamada do evento para que não fique recursiva a função
        Application.EnableEvents = False
        'Realiza a formatação da hora
        Target.Value = Left(Target.Value, 2) & ":" & Right(Target.Value, 2)
        'Liga novamente a chamada do evento para que volte a funcionar
        Application.EnableEvents = True
    End If
End Sub

Com esta alteração o sistema quando for digitado na coluna “A” um valor como 2345 ele irá inserir automaticamente os “:” e ficará 23:45.

Obrigado pela visita ao blog, deixe suas impressões, dúvidas e sugestões para fazermos ele cada vez melhor.

Baixe a planilha

Abraço

Marcos Rieper