¿Cómo fuerzo a un usuario a utilizar un formato específico al ingresar datos de tiempo?

¿Cómo fuerzo a un usuario a utilizar un formato específico al ingresar datos de tiempo?

Necesito asegurarme de que los usuarios de una hoja de cálculo en particular ingresen los datos de tiempo en tiempo militar. He descubierto que algunas personas omiten el colon y eso está causando problemas. ¿Hay alguna manera de forzar un formato específico para un rango de celdas?

Respuesta1

Estoy usando Excel 2010, por lo que no estoy seguro de dónde está la opción equivalente en Excel 2003.

  1. Seleccione las celdas que desea restringir.
  2. Formatee las celdas con el formato numérico apropiado "hh:mm".
  3. En la cinta "Datos" (¿menú, tal vez?), seleccione "Validación de datos".
  4. En "Configuración", "Criterios de validación", establezca:
    Permitir = Hora
    Ignorar en blanco = Sí
    Datos = entre
    Hora de inicio = 0:00
    Hora de finalización = 23:59:59
    (una cosa estúpida no aceptará "menos de 24:00" )
  5. Usuario "Alerta de error", establezca:
    Estilo = Detener
    Título = Entrada de hora
    Mensaje de error = Escriba las horas en formato hh:mm con dos puntos.
  6. Presiona OK".

Respuesta2

Publicación anterior, pero esto puede ayudar a buscar en Google (tampoco soy un experto en Excel)

  1. Formatee la celda como texto con un formato personalizado. 00\:00
    Esto permitirá a los usuarios ingresar una hora militar en la celda sin ":"

  2. Configure las opciones de Validación de datos en la celda (por ejemplo, E16) como personalizadas con la siguiente 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))
    

La validación verifica si es un número y luego si el lado HH del valor de tiempo está entre 0 y 23, y luego si el MM está entre 0 y 59.

Respuesta3

Utilizo lo mismo para restringir el tiempo militar, sin embargo, la Validación de datos acepta números enteros con dedos gruesos (tres dígitos después de los dos puntos) y luego muestra unincorrectotiempo. Por ejemplo si quieres entrar13:44por tu tiempo y accidentalmente puesto13:444, no sólo lo toma sino que muestra un tiempo de20:24

Eso20:24El tiempo es justo lo que ingresé para las horas (13) más los 444 minutos convertidos a horas: minutos (7:24), por lo que en lugar del deseado13:44da13:00+7:24o20:24.

Ahora entiendo las matemáticas y por qué Excel convierte 444 minutos a 7:24, pero eso NO debería ocurrir en una entrada de Validación de datos. Como se trata de Validación de datos, debería truncarse 444 a 44 o mostrar un mensaje de error.

Respuesta4

Me gustaría sugerir que VBA (Macro) se encargue de ingresar el tiempo en la columna o rango especificado.Esta macro convertirá cualquier valor de 4 dígitos a un formato de hora apropiado.

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

NÓTESE BIEN

  • Si ingresa 1725Macro lo convertirá a 05:25:00 PM.
  • Range ("A:A")es editable, debería Range("A1:A10")o Range("B10:C10")también.

información relacionada