Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Uhrzeit einfacher eingeben

Uhrzeit einfacher eingeben
26.03.2019 11:08:13
Robert
Ich habe eine Tabelle zur Erfassung von gearbeiteten Stunden.
Es wird eine Frühschicht und eine Spätschicht erfasst.
Dabei muss die Uhrzeit immer wie folgt eingegeben werden:
von(1) "05:30"
bis(1) "10:00"
von(2) "17:00"
bis(2) "21:30"
Die Zellen sind als "benutzerdefiniert hh:mm" formatiert.
Man muss immer penibel darauf achten, den Doppelpunkt einzufügen.
Wünschenswert wäre die Eingabe von "0530" und die Zelle interpretiert es automatisch als "05:30".
Ist so etwas möglich?
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Uhrzeit einfacher eingeben
26.03.2019 11:22:38
{Boris}
Hi,
quick and dirty - Bereich habe ich jetzt noch nicht eingeschränkt:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Target = Format(Target, "00\:00")
Application.EnableEvents = True
On Error GoTo 0
End Sub
VG, Boris
Anzeige
AW: Uhrzeit einfacher eingeben
26.03.2019 13:24:13
Herbert
Hallo Boris,
na das ist mal eine prima kurze Version! Ich habe dafür immer eine uralte Version von Jörg Lorenz verwendet. OK, sie hat auch funktioniert, aber deine ist mir wesentlich lieber, da sie so schön kurz ist! Vielen Dank dafür!
Servus
Anzeige
Achte doch bitte auf die Position in Thread
26.03.2019 14:14:21
EtoPHG
Herbert,
Es verwirrt mich, wenn Du Günther mit Boris ansprichst.
Im Übrigen: Lies den verlinkten Artikel von Günther, dann wirst du sehen, dass die Methode von Boris den entscheidenden Nachteil hat, dass aus der Zahl ein Text entsteht und kein Zeitwert!
Gruess Hansueli
AW: Achte doch bitte auf die Position in Thread
26.03.2019 14:23:24
Herbert
Du meine Güte, schon wieder so ein Oberlehrer! Ich bin halt um eins verrutscht. Na gut! Aber nachdem ja sowieso alle im Thread eine Benachrichtigung bekommen, spielt das doch auch keine große Rolle! Und wenn Günther nicht Boris ist, ist er auch nicht gemeint! Nix für ungut, Günther!
Anzeige
WIrst du jetzt empfindlich, aufs ALter? (owT)
26.03.2019 14:25:29
EtoPHG

AW: Achte doch bitte auf die Position in Thread
26.03.2019 18:05:20
{Boris}
Hi Hansueli,
ist die Zelle mit hh:mm formatiert, kommt auch ne Zahl an ;-)
VG, Boris
Die ultimative Eingabe
26.03.2019 13:21:16
lupo1
Da die Zeiten 1: und 2: verhältnismäßig selten vorkommen, könnte man 01:30 als q13 und 02:00 als q2 eingeben (das q ist in der Nähe von 1 und 2).
Dann besteht freie Bahn für alle anderen Zeiten:
03:40 - 34
06:00 - 6
09:15 - 915
11:00 - 11
21:30 - 213
http://xxcl.de/0018.htm
___________________________________________________________________________________________
Die VBA-Alternative dazu hat irgendwo einen Fehler; vielleicht findet den ja jemand heraus:
Private Sub Worksheet_Change(ByVal T As Range)
'Ereignis in den Code der gewünschten Tabelle kopieren
'Vorher B:B als Zeit formatieren und dort Shortcutzeiten eingeben
'Shortcuts siehe http://xxcl.de/0018.htm
If T.Column = 2 Then
Application.EnableEvents = False
T = "=--TEXT(LEFT(SUBSTITUTE(IF(ABS(CODE(" & T & ")-54)

Anzeige
AW: Uhrzeit einfacher eingeben
26.03.2019 14:04:04
Robert
Danke für eure schnelle Hilfe. Ich kenne mich mit VBA zwar überhaupt nicht aus, aber ich habe es geschafft, den kurzen Codeschnipsel im Editor unterzubringen. Und siehe da: Es funktioniert!
AW: Uhrzeit einfacher eingeben
26.03.2019 14:57:37
Robert
Ich habe gerade festgestellt, dass das Skript von Boris über das Ziel hinaus schiesst!
Auf dem selben Tabellenblatt befindet sich noch ein Feld, wo ich den Resturlaub aus dem Vorjahr eintragen möchte. Trage ich dort "3" ein, erhalte ich auch eine Uhrzeit (00:03:00)!
Kann man das irgendwie auf den Tabellenbereich beschränken?
Anzeige
AW: Uhrzeit einfacher eingeben
26.03.2019 15:13:58
UweD
Hallo
Ändere den Code wie folgt. (den Bereich musst du noch anpassen)
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Range("B2:B200"), Target) Is Nothing Then
        Application.EnableEvents = False
        Target = Format(Target, "00\:00")
        Application.EnableEvents = True
        On Error GoTo 0
    End If
End Sub
LG UweD
Anzeige
AW: Uhrzeit einfacher eingeben
26.03.2019 17:37:23
Robert
Danke UweD! Das scheint zu funktionieren!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige