0114-Evento para converter inteiros em horas

Baseado num post do OfficeGurus (UDF para conversão de horas), montei um evento para que, ao digitarmos um valor como 1234 este seja convertido imediatamente em 12:34.
O objetivo é acelerar a digitação deste tipo de valores, uma vez que os dois pontos não estão presentes no teclado reduzido (numérico), o que obriga que se intercale entre este e o teclado estendido. Quem, como eu, já precisou digitar uma série de valores envolvendo horas, sabe o quanto pode ser chato ficar neste movimento entre os dois teclados a cada novo valor inserido.

No exemplo de código a seguir todos os valores digitados no intervalo A1:A50 serão convertidos. Valores digitados em outras regiões da planilha não serão afetados.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Intervalo As Range
Dim rg As Range
Dim Minutos As Variant
Dim Horas As Variant
'Definir o intervalo de entrada de dados
Set Intervalo = [A1:A10]
'Determinar a intersecção entre Intervalo e a célula
'que foi modificada (Target)
Set rg = Application.Intersect(Target, Intervalo)
'Executar se a intersecção nao for vazia
If Not rg Is Nothing Then
'Desabilitar os eventos do Excel
Application.EnableEvents = False
'Utilizar os dois últimos dígitos para definir os minutos
Minutos = Right(Target, 2)
'Utilizar os demais dígitos para definir as horas
Horas = Left(Target, Len(Target) - 2)
'Se não houver valor correspondente às horas definir
'o valor como zero
If Horas = "" Then Horas = 0
'Combinar as informações de horas e minutos
Target = (Horas & ":" & Minutos)
'Definir o formato numérico de horas permitindo valores
'superiores a 24h
Target.NumberFormat = "[hh]:mm"
'Reabilitar os eventos do Excel
Application.EnableEvents = True
End If
End Sub
Anúncios

In Excel We Trust

Marcado com: , , , , , , ,
Publicado em Nível: Avançado
2 comentários em “0114-Evento para converter inteiros em horas
  1. Richardy disse:

    Boa tarde amigo: sua formula da certo, contudo quando deleto um numero para colocar outro a coisa desanda, em vez de virar horas é transformado em numero sem nexo.

    Sabe como resolver isso?

  2. Richardy disse:

    Olá amigo, estou tendo uma dificuldade, de alguma maneira esse código funciona perfeitamente mas depois de algum tempo ela não funciona, ela passa a em vez de transformar em horas, ela transforma em números nada haver!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 2,074,857

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.536 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: