Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1140to1144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeiteingabe ohne Doppelpunkt

Zeiteingabe ohne Doppelpunkt
Winfried
Hallo liebe Experten,
ich habe diesen Code seit vielen Jahren für eine Erfassung von Arbeitszeiten genutzt (gefunden hier im Archiv 2003).
Es ergibt sich eine Besonderheit: Wenn man 2400 in die Zelle einträgt, wird daraus die Anzeige 00:01 bei 0000 bleibt die Zelle leer. Wie kann ich den Code ändern
damit eine Anzeige 00:00 erscheint, weil mit diesen Zeiten auch noch weiter gerechnet wird, und auch jemand um Mitternacht seinen Dienst beginnt.
Sub Formatierung(Zelle) Dim s%, m%, z% With Range(Zelle) If .Value = "" Then Exit Sub If IsNumeric(.Value) And InStr(.Value, ":") = 0 And InStr(.Value, ",") = 0 Then If Len(.Value) > 2 Then s = Left(.Value, Len(.Value) - 2) m = Right(.Value, 2) 'Bei dieser Einstellung kann keine Uhrzeit _ die mit 0 beginnt z.B. 00:30 eingegeben werden 's = .Value 'm = 0 Else s = 0 m = .Value End If .Value = s & ":" & m End If End With End Sub
Vielen Dank für eine hilfreiche Antwort
Winfried
AW: Zeiteingabe ohne Doppelpunkt
04.03.2010 16:24:23
Schorschi
Hallo Winfried,
Vorschlag ohne VBA:
Die Zellen "Benutzerdefiniert" formatieren.
Im Feld Typ das Format:
00":"00 oder
00":"00 "Uhr" eingeben und mit OK bestätigen.
Gruß
Schorschi
AW: Zeiteingabe ohne Doppelpunkt
04.03.2010 16:59:00
Winfried
Hallo Schorschi,
das funktioniert nicht so wie ich es benötige, wenn ich die Zellen wie vorgeschlagen formatiere werden alle Eingaben egal ob 0800, 2400 oder 0530 als 00:00 wiedergegeben.
Danke
Winfried
AW: Zeiteingabe ohne Doppelpunkt
04.03.2010 17:14:16
Schorschi
Hallo Winfried,
funktioniert bei mir aber wie gewünscht!!
Mit Tastenkombi [Strg]+[1] Dialog Zellenformatieren aufrufen.
Wechseln auf Registerkarte Zahlen,
im Listenfeld Kategorie auf den Eintrag Benutzerdefiniert wechseln.
Im Feld Typ das Format 00":"00 oder 00":"00 "Uhr" eingeben und mit OK bestätigen.
Evtl. falsch mit 00:00 formatiert? ... richtig wie geschrieben 00":"00 ...Gänsefüsschen sind wichtig!!
Nix für ungut
Gruss
Schorschi
Anzeige
AW: Zeiteingabe ohne Doppelpunkt
04.03.2010 17:28:30
Winfried
Hallo Schorschi,
ich habe es genau so gemacht wie du es beschrieben hast. Es funktioniert nicht, das hängt aber mit den Tabellen zur Arbeitszeiterfassung zusammen. Bei einer "Normalen" Excel Tabelle funktioniert deine Empfehlung. Aufgrund von verschiedenen Makros, benötige ich leider eine VBA-Lösung.
Trotzdem vielen Dank für die Mühe
Gruss
Winfried
Das mit den Länge-Abfragen ist völlig...
04.03.2010 16:27:55
Luc:-?
…überflüssig, Winfried,
wenn du deinen Wert erst mal mit Right(WorksheetFunction.Text(Zelle, "0000"), 4) auf genau 4 Stellen bringst. Außerdem ist das keine Formatierung ieS, sondern eine Zellwertergänzung, die eine bestimmte Autoformatierung auslöst.
Gruß Luc :-?
Anzeige
AW: Das mit den Länge-Abfragen ist völlig...
04.03.2010 16:54:50
Winfried
Hallo Luc,
danke für die Antwort, aber ich verstehe nicht ganz was ich an welcher Stelle wie ändern muss damit es mit der Eingabe klappt. Kannst du mir das bitte weiter erklären?
Vielen Dank
Winfried
Alles ersetzen, was von...
04.03.2010 17:24:21
Luc:-?
If Len(.Value) > 2 Then bis End If steht, Winfried,
und dafür zuerst die bisher offensichtlich nicht verwendete Variable z = Right(WorksheetFunction.Text(Range(Zelle), "0000"), 4) setzen und dann nur die beiden Zeilen s = Left(z, 2) und m = Right(z, 2) zu schreiben. Anschließend brauchst du dann s und m nur noch wie gehabt zusammenzusetzen.
Zelle wird offensichtlich als Adresstext von einer aufrufenden Prozedur übergeben. Wahrscheinl ist das eine Ereignisprozedur wie Worksheet_Change, die das tut. Die hätte natürlich auch gleich das ganze Objekt (Target) weiterreichen können, aber was soll's…
Gruß Luc :-?
Anzeige
AW: Das mit den Länge-Abfragen ist völlig...
04.03.2010 17:29:13
Reinhard
Hallo Winfried,
ich weiß von Excelusern die viele Zeiten einhämmern müssen, daß sie rechts mit dem Zahlenblock das machen, dabei anstatt Doppelpunkt zwei Kommas reinsetzen.
Nach Drangewöhnung geht das fix beim Schreiben.
Über Autokorrektur tauscht dann Excel automatisch die ",," gegen ":".
Mien Code akzeptiert auch 9999 :-)
in Modul des Blattes:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column  1 Then Exit Sub ' 1=Spalte A, 2=Spalte B usw.
With Target
If .Value = "" Then Exit Sub
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And InStr(.Value, ",") = 0 Then
Application.EnableEvents = False
.Value = Format(.Value, "00:00")
Application.EnableEvents = True
End If
End With
End Sub
Gruß
Reinhard
Anzeige
AW: Das mit den Länge-Abfragen ist völlig...
04.03.2010 17:47:20
Winfried
Hallo Reinhard,
tausend Dank, das ist genau der Code den ich benötige. Ich hab es gleich mal bei einem Mitarbeiter ausprobiert und es hat super funktioniert.
Viele Grüsse
Winfried
AW: 12:95 Uhr
04.03.2010 17:29:37
00":"00 "Uhr" falsch
Hallo!
Format 00":"00 "Uhr" ist falsch 12:95 gibt es gar nicht
Gruß
Wilfried
AW: Das mit den Länge-Abfragen ist völlig...
04.03.2010 17:32:13
Winfried
Hallo Luc,
ich habe eben vergessen den Haken bei Frage noch offen zu setzen.
Ich weis nicht genau wie ich deine Hilfe anwenden soll. Kannst du mir genauer mitteilen was ich in dem obigen Code wie und wo ändern muss.
Danke
Gruss
Winfried
AW: Das mit den Länge-Abfragen ist völlig...
04.03.2010 21:18:15
Wilfried
Hallo Winfried!
Mit einer Hilfsspalte geht es so und weiter rechnen geht es auch.
Zeit

 ABC
161Uhrzeit Eingabe Zahlen >> in Stunden, Minuten umwandeln  
162   
163   
164175117:51hh:mm
165135513:55 
166900:09 
167 31:55[hh]:mm

Formeln der Tabelle
ZelleFormel
B164=1*(TEXT(A164;"00\:00")+0)
B165=1*(TEXT(A165;"00\:00")+0)
B166=1*(TEXT(A166;"00\:00")+0)
B167=SUMME(B164:B166)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried
Anzeige

87 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige