Office: Uhrzeiteingabe vereinfachen

Helfe beim Thema Uhrzeiteingabe vereinfachen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich würde gerne die Eingabe der Uhrzeit vereinfachen. Die Zelle ist formatiert mit hh:mm und ich trage die Uhrzeit z.B. so ein: 11:00 Was ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Dr.Holle, 15. Januar 2021.

  1. Dr.Holle Neuer User

    Uhrzeiteingabe vereinfachen


    Hallo,
    ich würde gerne die Eingabe der Uhrzeit vereinfachen.
    Die Zelle ist formatiert mit hh:mm und ich trage die Uhrzeit z.B. so ein: 11:00

    Was ich nun gerne hätte ist, dass ich auch 1100 oder nur 11 eingebe und daraus automatisch 11:00 gemacht wird.

    Meine Idee ist es dass ich prüfe ob es eine Ganzzahl (also ohne ":" ) ist und wenn ja, dann füllt man auf 4 Stellen mit Nullen auf und setzt in der Mitte ein Doppelpunkt.

    Leider kenne ich mich nur mit richtigen Programmiersprachen aus (C++, Python), aber wie man sowas in Excel realisiert weiß ich leider nicht.

    Ich bin für jeden Tipp dankbar.

    Gruß,
    Holle
     
    Dr.Holle, 15. Januar 2021
    #1
  2. steve1da Office Guru
    steve1da, 15. Januar 2021
    #2
    1 Person gefällt das.
  3. Beverly
    Beverly Erfahrener User
    Hi,

    das geht z.B. mit folgendem Code im Codemodul des Tabellenblattes:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rngZelle As Range
        ' Code bezieht sich auf Spalte A <== Spaltennummer oder Bereich anpassen!!
        If Not Intersect(Target.Cells(1), Columns(1)) Is Nothing Then
            ' Eingabe ist numerisch und eine Ganzzahl
            If IsNumeric(Target.Cells(1)) And Target.Cells(1) - CInt(Target.Cells(1)) = 0 Then
                ' Schleife über alle Eingabezellen die in Spalte A liegen
                For Each rngZelle In Intersect(Target, Columns(1))
                    ' Eingabe ist 2 oder 4 Zeichen lang
                    Select Case Len(rngZelle)
                        Case 2, 4
                            On Error GoTo Errorhandler
                            ' Reaktion auf Eingabe abschalten
                            Application.EnableEvents = False
                            ' Eingabe ist 2 Zeichen lang
                            If Len(rngZelle) = 2 Then
                                ' Eingabe ist kleiner als 25 da nur 24 Stunden
                                If rngZelle < 25 Then
                                    rngZelle = TimeValue(rngZelle & ":00")
                                    Target.NumberFormat = "hh:mm"
                                End If
                            Else
                                ' linke 2 Ziffern sind kleiner 25 und recht 2 Ziffern sind kleiner 60
                                If Left(rngZelle, 2) < 24 And Right(rngZelle, 2) < 60 Then
                                    rngZelle = TimeValue(Left(rngZelle, 2) & ":" & Right(rngZelle, 2))
                                    Target.NumberFormat = "hh:mm"
                                End If
                            End If
                            On Error GoTo 0
                    End Select
                Next rngZelle
            End If
        End If
    Errorhandler:
        ' Reaktion auf Eingabe einschalten
        Application.EnableEvents = True
    End Sub

    Uhrzeiteingabe vereinfachen GrußformelUhrzeiteingabe vereinfachen Beverly's Excel - Inn
     
    Beverly, 15. Januar 2021
    #3
    1 Person gefällt das.
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Uhrzeiteingabe vereinfachen

    die für mich einfachste Art zur Zeiteingabe ist.
    Stelle bei Autokorrektur ein Ersetzen ,, durch : dann kannst Du Zeiten recht schnell mit der Num-Lock-Tastatur eingeben.

    Uhrzeiteingabe vereinfachen GrußformelUhrzeiteingabe vereinfachen Homepage
     
    Hajo_Zi, 15. Januar 2021
    #4
    1 Person gefällt das.
  5. Dr.Holle Neuer User
    Herzlichen Dank, das ist genau was ich gesucht habe.
    Ich habe den Code noch etwas abgeändet, damit aus "9" "09:00" wird (also einstellig).
    Ansonsten konnte ich deinen Code 1:1 übernehmen, vielen dank !!!

    Edit: Hier ist der geänderte Code:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rngZelle As Range
        ' Code bezieht sich auf Spalte A <== Spaltennummer oder Bereich anpassen!!
        If Not Intersect(Target.Cells(1), Columns(1)) Is Nothing Then
            ' Eingabe ist numerisch und eine Ganzzahl
            If IsNumeric(Target.Cells(1)) And Target.Cells(1) - CInt(Target.Cells(1)) = 0 Then
                ' Schleife über alle Eingabezellen die in Spalte A liegen
                For Each rngZelle In Intersect(Target, Columns(1))
                    ' Eingabe ist 2 oder 4 Zeichen lang
                    Select Case Len(rngZelle)
                        Case 1, 2, 4
                            On Error GoTo Errorhandler
                            ' Reaktion auf Eingabe abschalten
                            Application.EnableEvents = False
                            ' Eingabe ist 2 Zeichen lang
                            If Len(rngZelle) <= 2 Then
                                ' Eingabe ist kleiner als 25 da nur 24 Stunden
                                If rngZelle < 25 Then
                                    rngZelle = TimeValue(rngZelle & ":00")
                                    Target.NumberFormat = "hh:mm"
                                End If
                            Else
                                ' linke 2 Ziffern sind kleiner 25 und recht 2 Ziffern sind kleiner 60
                                If Left(rngZelle, 2) < 24 And Right(rngZelle, 2) < 60 Then
                                    rngZelle = TimeValue(Left(rngZelle, 2) & ":" & Right(rngZelle, 2))
                                    Target.NumberFormat = "hh:mm"
                                End If
                            End If
                            On Error GoTo 0
                    End Select
                Next rngZelle
            End If
        End If
    Errorhandler:
        ' Reaktion auf Eingabe einschalten
        Application.EnableEvents = True
    End Sub
    
     
    Dr.Holle, 18. Januar 2021
    #5
  6. Dr.Holle Neuer User
    Ich bräuchte nochmal Hilfe:
    Wie kann ich das erweitern dass es sowohl für Spalte A, wie auch für Spalte B gilt?
     
    Dr.Holle, 18. Januar 2021
    #6
  7. Moin!
    Ohne VBA entweder so wie Hajo (so mache ich dies auch bereits seit Jahren).
    Oder ein schlichtes benutzerdefiniertes Zahlenformat 00\:00
    Dann ergibt 9 → 00:09
    900 → 09:00
    Zwei Nachteile:
    1. Minuten müssen zwingend eingegeben werden (bei der Doppelkomma-Methode nicht)
    2. da es sich nicht um "echte" Uhrzeiten handelt, müssen beim Weiterrechnen simple Formeln aushelfen.

    Ein nicht zu unterschätzender Vorteil ist hingegen, dass man auch negative "Zeiten" darstellen und mit ihnen rechnen kann.

    Gruß Ralf
     
    1 Person gefällt das.
  8. Uhrzeiteingabe vereinfachen

    Code:
    If Target.Column < 3
     
    1 Person gefällt das.
  9. Beverly
    Beverly Erfahrener User
    Hi,

    ersetze an allen Stellen Columns(1) durch Columns("A:B").


    Uhrzeiteingabe vereinfachen GrußformelUhrzeiteingabe vereinfachen Beverly's Excel - Inn
     
    Beverly, 18. Januar 2021
    #9
    1 Person gefällt das.
  10. Dr.Holle Neuer User
    Nochmals herzlichen Dank, nun ist es perfekt :-)
     
    Dr.Holle, 18. Januar 2021
    #10
  11. Dr.Holle Neuer User
    Nochmal eine Kleine Änderung, welche es erlaubt die Uhrzeit 3-Stellig einzugeben (z.B. 945 -> 09:45):
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rngZelle As Range
        ' Code bezieht sich auf Spalte A <== Spaltennummer oder Bereich anpassen!!
        If Not Intersect(Target.Cells(1), Columns("A:B")) Is Nothing Then
            ' Eingabe ist numerisch und eine Ganzzahl
            If IsNumeric(Target.Cells(1)) And Target.Cells(1) - CInt(Target.Cells(1)) = 0 Then
                ' Schleife über alle Eingabezellen die in Spalte A liegen
                For Each rngZelle In Intersect(Target, Columns("A:B"))
                    ' Eingabe ist 2 oder 4 Zeichen lang
                    Select Case Len(rngZelle)
                        Case 1, 2, 3, 4
                            On Error GoTo Errorhandler
                            ' Reaktion auf Eingabe abschalten
                            Application.EnableEvents = False
                            ' Eingabe ist 1 oder 2 Zeichen lang
                            If Len(rngZelle) <= 2 Then
                                ' Eingabe ist kleiner als 25 da nur 24 Stunden
                                If rngZelle < 25 Then
                                    rngZelle = TimeValue(rngZelle & ":00")
                                    Target.NumberFormat = "hh:mm"
                                End If
                            ' Eingabe ist 3 Zeichen lang
                            ElseIf Len(rngZelle) = 3 Then
                                ' die rechten 2 Ziffern sind kleiner als 60
                                If Right(rngZelle, 2) < 60 Then
                                    rngZelle = TimeValue(Left(rngZelle, 1) & ":" & Right(rngZelle, 2))
                                End If
                            ' Eingabe ist 4 Zeichen lang
                            Else
                                ' linke 2 Ziffern sind kleiner 25 und recht 2 Ziffern sind kleiner 60
                                If Left(rngZelle, 2) < 24 And Right(rngZelle, 2) < 60 Then
                                    rngZelle = TimeValue(Left(rngZelle, 2) & ":" & Right(rngZelle, 2))
                                    Target.NumberFormat = "hh:mm"
                                End If
                            End If
                            On Error GoTo 0
                    End Select
                Next rngZelle
            End If
        End If
    Errorhandler:
        ' Reaktion auf Eingabe einschalten
        Application.EnableEvents = True
    End Sub
    
     
    Dr.Holle, 19. Januar 2021
    #11
Thema:

Uhrzeiteingabe vereinfachen

Die Seite wird geladen...
  1. Uhrzeiteingabe vereinfachen - Similar Threads - Uhrzeiteingabe vereinfachen

  2. Komfortablere Uhrzeiteingabe?

    in Microsoft Excel Hilfe
    Komfortablere Uhrzeiteingabe?: Hallo, wenn ich Uhrzeiten in einen Plan eingebe muß ich immer mein Nummernpad "verlassen", weil ich den Doppelpunkt benötige - beim Datum kann ich ja am Nummernpad wenigstens noch ein Minus...
  3. Hashaltsbuch vereinfachen.

    in Microsoft Excel Hilfe
    Hashaltsbuch vereinfachen.: Hallo und grüß Gott, ich bin bei EXEL eine absolute Leihe und komme einfach mit meinem Haushaltsbuche nicht weiter. [ATTACH] In der Spalte A stehen Beträge die sich des Öfteren ändern in der...
  4. Spalten immer eins hochzählen

    in Microsoft Excel Hilfe
    Spalten immer eins hochzählen: Guten Morgen, ich habe aktuell folgendes Problem: Ich schreibe gerade eine Funnktion, welche eine Spalte nach der anderen mit einem Wert multipliziert. Dabei wäre meine aktuell einzige...
  5. Pfad standardisieren

    in Microsoft Excel Hilfe
    Pfad standardisieren: Hallo zusammen. Hätte mal eine Frage zur Vereinfachung bei der Schreibweise des Pfades. Muss es immer der komplette Text sein, oder gibt es eine Möglichkeit z.B. den "Besitzer" wegzulassen bzw....
  6. Hilfe bei Formel-Vereinfachung/-Kürzung

    in Microsoft Excel Hilfe
    Hilfe bei Formel-Vereinfachung/-Kürzung: Hallo zusammen, ich stehe gerade auf dem Schlauch bei der Vereinfachung/Kürzung einer Formel. Mein aktuelles Ziel ist es in Excel die Umsätze bei der Einstellung neuer Vertriebsmitarbeiter zu...
  7. Vereinfachung dieser Funktion?

    in Microsoft Excel Hilfe
    Vereinfachung dieser Funktion?: Hallo Zusammen, ich habe zwei Tabellen, wobei in Tabelle X über zwei Spalten und ca.100 Zeilen Artikelnamen + Nummern stehen. In der anderen Tabelle Y stehen in Spalte C die Artikelnamen, dann...
  8. Formel vereinfachen, aktuelle Formel führt zu extrem langen Ladezeiten bei Excel

    in Microsoft Excel Hilfe
    Formel vereinfachen, aktuelle Formel führt zu extrem langen Ladezeiten bei Excel: Hallo zusammen, ich hoffe mal wieder auf eine gute Idee oder eine Hilfe aus dem Forum. Ich habe mal einen kleinen Ausschnitt meiner Datei hochgeladen, die ich erstellt habe. Mir geht es um eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden