Überprüfen auf Dateneingabefehler für Zeiten (Microsoft Excel)
King merkt an, dass wenn eine Zelle als hh: mm oder [h]: mm formatiert ist und Sie versehentlich 3: 555 in die Zelle eingeben, Sie 12:15 statt 3:55 erhalten.
Excel interpretiert den 555 als 555 Minuten, nicht als 55 und 1/2 Minuten. Er fragt sich, ob es eine Möglichkeit gibt, sich vor solchen Dateneingabefehlern zu schützen, da er keine Datenvalidierung erhalten kann, um damit umzugehen.
König ist richtig; Die Datenüberprüfung behandelt diese Art von Fehler nicht. Wenn Sie die Datenüberprüfung so einstellen, dass die Zeit in eine Zelle eingegeben werden kann, und dann die Grenzen auf 12:00:00 bis 23:59:59 Uhr festlegen (damit jede Zeit zulässig ist), wird weiterhin 3: 555 akzeptiert und falsch interpretiert es als 3 Stunden und 555 Minuten oder 12:15. Da 12:15 innerhalb des zulässigen Zeitbereichs liegt, ist die Datenüberprüfung kein Problem.
Die Datenvalidierung kann jedoch weiterhin verwendet werden, wenn Sie Ihre Zeiteingabe auf zwei Zellen aufteilen. Ermöglichen Sie dem Benutzer die Eingabe von Stunden in eine Zelle und Minuten in eine andere und verwenden Sie die Datenüberprüfung, um akzeptable Eingabeparameter für jede Zelle zu erzwingen. Dies würde verhindern, dass 555 als gültige Anzahl von Minuten akzeptiert wird. Sie können die beiden Zellen dann auf folgende Weise in eine gültige Zeit konvertieren:
=A1/24+B1/(24*60)
Mehrere Abonnenten schlugen vor, ein Makro zu verwenden, um den Inhalt der Zelle zu überprüfen und den Tippfehlereintrag zu stoppen. Jeder Vorschlag stützte sich auf den Worksheet_Change-Ereignishandler, der sehr vielversprechend schien. Keine der bereitgestellten Lösungen würde jedoch den Eintrag 3: 555 als falsch erfassen. Der Grund dafür ist, dass die internen Routinen von Excel zu dem Zeitpunkt, als Excel die Kontrolle an das Worksheet_Change-Ereignis übergab, den Eintrag bereits analysiert und in 12:15 geändert hatten. Während 3: 555 programmgesteuert markiert und angepasst werden konnte, konnte das analysierte 12:15 nicht – es wird immer noch als gültige Zeit angesehen, sodass es direkt durch eines der Worksheet_Change-Makros segelte.
Die einzige makrobasierte Lösung wäre eine, bei der der Benutzer über ein Eingabefeld eine Zeit eingibt, die überprüft werden kann, bevor das Makro sie in das Arbeitsblatt einfügt. Dieser Ansatz scheint jedoch für eine einfache Benutzereingabe viel störender zu sein, als separate Minuten- und Sekundenzellen zu verwenden und die Datenvalidierung auf diese Zellen anzuwenden.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (13248) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.