Como faço para forçar um usuário a usar um formato específico ao inserir dados de horário?

Como faço para forçar um usuário a usar um formato específico ao inserir dados de horário?

Preciso garantir que os usuários de uma planilha específica estejam inserindo os dados de horário no horário militar. Estou descobrindo que algumas pessoas estão omitindo o cólon e isso está causando problemas. Existe uma maneira de forçar uma formatação específica para um intervalo de células?

Responder1

Estou usando o Excel 2010, então não tenho certeza de onde está a opção equivalente no Excel 2003.

  1. Selecione as células que deseja restringir.
  2. Formate as células com o formato numérico apropriado "hh:mm".
  3. Na faixa "Dados" (menu, talvez?), Selecione "Validação de dados".
  4. Em "Configurações", "Critérios de validação", defina:
    Permitir = Hora
    Ignorar em branco = Sim
    Dados = entre
    Hora de início = 0:00
    Hora de término = 23:59:59
    (coisa estúpida não aceita "menos de 24:00" )
  5. Usuário "Alerta de erro", definido:
    Estilo = Parar
    Título = Entrada de tempo
    Mensagem de erro = Digite os horários no formato hh:mm com dois pontos.
  6. Pressione OK".

Responder2

Post antigo, mas isso pode ajudar algumas pesquisas no Google (também não sou um especialista em Excel)

  1. Formate a célula como texto com um formato personalizado. 00\:00
    Isso permitirá que os usuários insiram um horário militar na célula sem ":"

  2. Defina as opções de validação de dados na célula (EG E16) como personalizado com a seguinte fórmula

    =AND(ISNUMBER(E16),(VALUE(LEFT(TEXT(E16,"00\:00"),2))>=0),(VALUE(LEFT(TEXT(E16,"00\:00"),2))<=23),(VALUE(RIGHT(TEXT(E16,"00\:00"),2))>=0),(VALUE(RIGHT(TEXT(E16,"00\:00"),2))<=59))
    

A validação verifica se é um número e se o lado HH do valor do tempo está entre 0 e 23 e se o MM está entre 0 e 59.

Responder3

Eu uso a mesma coisa para restringir o horário militar, no entanto, a Validação de Dados aceita letras inteiras (três dígitos após os dois pontos) e depois mostra umincorretatempo. Por exemplo, se você quiser entrar13:44pelo seu tempo e acidentalmente colocado13:444, ele não apenas leva, mas exibe um tempo de20:24

Que20:24o tempo é exatamente o que inseri para as horas (13) mais os 444 minutos convertidos em horas: minutos (7:24), portanto, em vez do desejado13:4413:00+7:24ou20:24.

Agora entendo a matemática e por que o Excel converte 444 minutos em 7:24, mas isso NÃO deve ocorrer em uma entrada de validação de dados. Sendo esta validação de dados, ela deve truncar 444 para 44 ou fornecer uma mensagem de erro.

Responder4

Eu gostaria de sugerir que o VBA (Macro) cuidará da entrada de tempo na coluna ou intervalo especificado.Esta macro converterá qualquer valor de 4 dígitos em um formato de hora apropriado.

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Dim xHour As String
Dim xMinute As String
Dim xWord As String

Application.EnableEvents = False
xWord = Format(Target.Value, "0000")
xHour = Left(xWord, 2)
xMinute = Right(xWord, 2)

On Error Resume Next
Target.Value = TimeValue(xHour & ":" & xMinute)

On Error Resume Next
Application.EnableEvents = True

End Sub

Observação

  • Se você inserir 1725Macro, ele será convertido em 05:25:00 PM.
  • Range ("A:A")é editável, deveria Range("A1:A10")ou Range("B10:C10")também.

informação relacionada