Wie zwinge ich einen Benutzer, beim Eingeben von Zeitdaten ein bestimmtes Format zu verwenden?

Wie zwinge ich einen Benutzer, beim Eingeben von Zeitdaten ein bestimmtes Format zu verwenden?

Ich muss sicherstellen, dass die Benutzer einer bestimmten Tabelle die Zeitdaten in Militärzeit eingeben. Ich stelle fest, dass einige Leute den Doppelpunkt weglassen, was Probleme verursacht. Gibt es eine Möglichkeit, eine bestimmte Formatierung für einen Zellbereich zu erzwingen?

Antwort1

Ich verwende Excel 2010 und bin daher nicht sicher, wo sich die entsprechende Option in Excel 2003 befindet.

  1. Wählen Sie die Zellen aus, die Sie einschränken möchten.
  2. Formatieren Sie die Zellen mit dem entsprechenden Zahlenformat „hh:mm“.
  3. Wählen Sie im Menüband (vielleicht im Menü?) „Daten“ die Option „Datenüberprüfung“ aus.
  4. Legen Sie unter „Einstellungen“, „Validierungskriterien“ Folgendes fest:
    Zulassen = Zeit
    Leerzeichen ignorieren = Ja
    Daten = zwischen
    Startzeit = 0:00
    Endzeit = 23:59:59
    (dummes Ding akzeptiert nicht „weniger als 24:00“)
  5. Benutzer „Fehlermeldung“, eingestellt:
    Stil = Stopptitel
    = Zeiteintrag
    Fehlermeldung = Bitte geben Sie die Zeiten im Format hh:mm mit Doppelpunkt ein.
  6. Drücke OK".

Antwort2

Alter Beitrag, aber vielleicht hilft das bei der Google-Suche (ich bin auch kein Excel-Experte)

  1. Formatieren Sie die Zelle als Text mit einem benutzerdefinierten Format. 00\:00
    Dadurch können Benutzer eine militärische Zeit in die Zelle eingeben, ohne „:“.

  2. Legen Sie die Datenüberprüfungsoptionen für die Zelle (z. B. E16) mit der folgenden Formel benutzerdefiniert fest

    =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))
    

Bei der Validierung wird geprüft, ob es sich um eine Zahl handelt und ob die HH-Seite des Zeitwerts zwischen 0 und 23 liegt, und anschließend, ob die MM-Seite zwischen 0 und 59 liegt.

Antwort3

Ich benutze dasselbe, um die Zeit auf Militärzeit zu beschränken, aber die Datenüberprüfung akzeptiert fette Fingereingaben (drei Ziffern nach dem Doppelpunkt) und zeigt dann einefalschZeit. Wenn Sie beispielsweise13:44für Ihre Zeit und versehentlich setzen13:444, es nimmt es nicht nur, sondern zeigt eine Zeit von20:24

Das20:24Die Zeit ist genau das, was ich für die Stunden (13) eingegeben habe, plus die 444 Minuten, umgerechnet in Stunden:Minuten (7:24), also statt der gewünschten13:44es gibt13:00+7:24oder20:24.

Jetzt verstehe ich die Mathematik und warum Excel 444 Minuten in 7:24 umwandelt, aber das sollte in einem Datenüberprüfungseintrag NICHT vorkommen. Da es sich um eine Datenüberprüfung handelt, sollte es entweder 444 auf 44 kürzen oder eine Fehlermeldung ausgeben.

Antwort4

Ich möchte vorschlagen, dass VBA (Makro) sich um die Zeiteingabe in der angegebenen Spalte oder im angegebenen Bereich kümmert.Dieses Makro konvertiert jeden 4-stelligen Wert in ein entsprechendes Zeitformat.

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

Achtung

  • Wenn Sie 1725„Makro“ eingeben, wird es in umgewandelt 05:25:00 PM.
  • Range ("A:A")ist editierbar, sollte es Range("A1:A10")bzw. Range("B10:C10")auch.

verwandte Informationen