Eingeben oder Importieren von Zeiten ohne Doppelpunkte (Microsoft Excel)
Wenn Sie eine Zeit in eine Zelle eingeben, gibt Excel das Vorhandensein des Doppelpunkts zwischen den Stunden- und Minutenabschnitten der Zeit ein. Aufgrund der Position des Doppelpunkts auf der Tastatur kann die Eingabe eines Doppelpunkts für jeden eingegebenen Zeitwert Sie jedoch verlangsamen – insbesondere, wenn Sie einige Zeitwerte eingeben müssen.
Aus diesem Grund fragen Sie sich möglicherweise, ob es eine Möglichkeit gibt, die Eingabe des Doppelpunkts zu überspringen und diese entweder automatisch oder auf einmal eingeben zu lassen.
Die automatische Eingabe erfordert etwas mehr Arbeit und erfordert die Verwendung eines Makros. Dies wird in Kürze behandelt. Die Eingabe der Doppelpunkte auf einmal kann mit einer Formel wie folgt erfolgen:
=TIMEVALUE(REPLACE(A1,3,0,":"))
Diese Formel geht davon aus, dass sich der Zeitwert (ohne Doppelpunkt) in Zelle A1 befindet und aus vier Ziffern besteht. Wenn also Zelle A1 einen Wert wie 1422 enthält, gibt die Formel 14:22 als tatsächlichen Zeitwert zurück. (Möglicherweise müssen Sie die Zelle als Zeitwert formatieren.)
Wenn Ihre ursprüngliche Eingabezelle möglicherweise eine Zeit enthält, die nur drei Ziffern verwendet, z. B. 813 anstelle von 0813, müssen Sie eine etwas andere Formel verwenden:
=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),0)
Wenn Sie das automatische Einfügen der Doppelpunkte bevorzugen, können Sie ein Makro verwenden. Sie können ein Makro erstellen, das einen Zellbereich untersucht, in dem Sie dem Arbeitsblatt Datumsangaben hinzufügen möchten, und dann den Doppelpunkt in den Eintrag einfügen. Dazu wird ein Makro erstellt, das vom SheetChange-Ereignis ausgelöst wird. Das folgende Makro ist eines davon:
Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) Dim TimeStr As String On Error GoTo EndMacro If Application.Intersect(Target, Range("C7:D15")) Is Nothing Then Exit Sub End If If Target.Cells.Count > 1 Then Exit Sub End If If Target.Value = "" Then Exit Sub End If Application.EnableEvents = False With Target If .HasFormula = False Then Select Case Len(.Value) Case 1 ' e.g., 1 = 00:01 AM TimeStr = "00:0" & .Value Case 2 ' e.g., 12 = 00:12 AM TimeStr = "00:" & .Value Case 3 ' e.g., 735 = 7:35 AM TimeStr = Left(.Value, 1) & ":" & _ Right(.Value, 2) Case 4 ' e.g., 1234 = 12:34 TimeStr = Left(.Value, 2) & ":" & _ Right(.Value, 2) Case Else Err.Raise 0 End Select .Value = TimeValue(TimeStr) End If End With Application.EnableEvents = True Exit Sub EndMacro: MsgBox "You did not enter a valid time" Application.EnableEvents = True ActiveCell.Offset(-1, 0).Select End Sub
Das Makro überprüft zunächst, ob die gerade eingegebenen Daten im Bereich C7: D15 liegen. Wenn dies nicht der Fall ist, wird das Makro beendet. Außerdem wird überprüft, ob nur eine einzelne Zelle ausgewählt ist und die Zelle nicht leer ist. Wenn alle diese Kriterien erfüllt sind, überprüft das Makro die Länge des Werts in der Zelle und füllt ihn bei Bedarf mit führenden Nullen auf. Dieses Makro basiert auf einem Makro auf der Website von Chip Pearson, hier:
http://cpearson.com/excel/DateTimeEntry.htm
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (12205) gilt für Microsoft Excel 2007 und 2010. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: