Come forzare un utente a utilizzare un formato specifico durante l'inserimento dei dati temporali?


5

Devo assicurarmi che gli utenti di un particolare foglio di calcolo stiano inserendo i dati temporali in tempo militare. Sto scoprendo che alcune persone stanno omettendo il colon e sta causando problemi. C'è un modo per forzare una formattazione specifica per un intervallo di celle?

Risposte:


5

Sto usando Excel 2010, quindi non sono sicuro di dove sia l'opzione equivalente in Excel 2003.

  1. Seleziona le celle che desideri limitare.
  2. Formatta le celle con il formato numerico appropriato "hh: mm".
  3. Nella barra multifunzione "Dati" (menu, forse?), Selezionare "Convalida dati".
  4. In "Impostazioni", "Criteri di convalida", imposta:
    Consenti = Tempo
    Ignora vuoto = Sì
    Dati = tra Ora
    inizio = 0:00
    Ora fine = 23:59:59
    (la cosa stupida non accetta "meno di 24:00" )
  5. Utente "Error Alert", impostare:
    Style = Stop
    Title = Time Entry
    Error Error = Per favore digita i tempi nel formato hh: mm con i due punti.
  6. Premere OK".

Felice di aiutare! Si prega di contrassegnare questa come la risposta corretta. :-)
Hand-E-Food

2

Vecchio post, ma questo può aiutare alcuni a cercare su Google (anche io non sono un esperto di Excel)

  1. Formatta la cella come testo con un formato personalizzato 00\:00
    Ciò consentirà agli utenti di inserire un tempo militare nella cella senza ":"

  2. Impostare le opzioni di convalida dei dati sulla cella (EG E16) come personalizzate con la seguente formula

    =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 convalida controlla se si tratta di un numero e quindi se il lato HH del valore temporale è compreso tra 0 e 23 e quindi se MM è compreso tra 0 e 59.


0

Uso la stessa cosa per limitare il tempo militare, tuttavia, la convalida dei dati accetta imperi con dita grosse (tre cifre dopo i due punti) e quindi mostra un orario errato . Ad esempio, se vuoi inserire 13:44 per il tuo tempo e accidentalmente metti 13: 444 , non solo ci vuole ma mostra un tempo di 20:24

Quel tempo 20:24 è proprio quello che ho inserito per le ore (13) più i 444 minuti convertiti in ore: minuti (7:24), quindi invece delle 13:44 desiderate dà 13:00 + 7:24 o 20: 24 .

Ora capisco la matematica e perché Excel converte 444 minuti in 7:24, ma ciò NON dovrebbe verificarsi in una voce di convalida dei dati. Essendo questa la convalida dei dati, dovrebbe troncare 444 a 44 o dare un messaggio di errore.


0

Vorrei suggerire che VBA (Macro) si occuperà della voce Time nella colonna o intervallo specificata. Questa macro convertirà qualsiasi valore di 4 cifre in un formato ora appropriato.

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

NB

  • Se inserisci 1725Macro, lo convertirà in 05:25:00 PM.
  • Range ("A:A")è modificabile, dovrebbe Range("A1:A10")o Range("B10:C10")anche.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.