1
resposta

Validação de dados, quando se trata de horário.

Tenho um exercício do excel que solicita a validação de horário, com o formato HH:MM. Na opção de Validação de Dados não existe a opção de formatar a célula com esse formato, mas sim no formato de hora com a opção HH:MM:SS. Como nessa situação podemos ajudar para que aceite somente o formato HH:MM? Outra coisa que identifiquei: Formatei a célular para aceitar o horário inicial 08:00 e o final às 18:00, porém, como teste, informei o horário 07:59:99, cujo segundos está incorreto, e a célula aceitar o valor, transformando em número decimal (0,333784722). Neste caso, a Validação de Dados não deveria ter exposto uma mensagem de erro, ao invés de aceitar este valor?

1 resposta

Olá Galydson, tudo bem?

Em relação ao formato HH:MM, fiz os testes da "Opinião do Instrutor" e conseguir deixar nesse formato:

Planilha do Excel exibindo a coluna “Horário de Entrada”, com a célula A2 mostrando o valor 09:59. Na barra de fórmulas, o mesmo valor aparece como 09:59:00, indicando a presença dos segundos mesmo não sendo exibidos na célula.

Embora na barra de fórmula apresenta HH:MM:SS, note que o formato nas células fica como HH:MM

Quanto ao valor decimal, e convertê-lo em um número decimal, isso ocorre porque o Excel interpreta o tempo como uma fração de um dia. você poderá formatar a célula em:

  • Página Inicial
  • Em Número, selecione a seta para baixo.
  • Hora

Interface do Excel com a aba “Página Inicial” aberta. Um destaque (1) indica o menu de formatação de fonte. Outro destaque (2) aponta para o botão de abrir a janela “Formatar Células” no grupo “Número”. A janela “Formatar Células” está aberta, com a categoria “Hora” selecionada (3) e diferentes opções de formato de hora exibidas, incluindo “13:30:55”. Ao fundo, a planilha mostra a coluna “Horário de Entrada” com um valor como “8:00:39”.

No entanto, após essa transformaçao inserindo valores inválidos de segundos, como 07:59:99 ele transforma em 08:00:39. Isso porque o Excel tenta ser "ajudinha" e faz um arredondamento matemático: como o limite de segundos é 59, quando você digita 99, ele entende que passaram-se 60 segundos (1 minuto) + 39 segundos. Por isso o seu 08:59:99 vira 09:00:39.

Para ter uma solução definitiva, você pode tentar uma solução Macro (VBA) atua sobre o evento da digitação, permitindo interceptar o "98" ou "99" antes de virar 1 minuto e meio (diferentemente de uma solução de validação de Dados que atua sobre o valor depois que o Excel já o processou.

Abaixo deixo links de conteúdos relacionados a Macro no Excel.

Para saber mais:

Sugestão de conteúdo:

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!