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: