Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

uhrzeit-problem

Forumthread: uhrzeit-problem

uhrzeit-problem
09.05.2006 11:17:41
manuela
hallo
damit meine arbeitszeitkontrolle einfacher wird und ich die zahlen in stunden und minuten erfassen kann, habe ich meine dateien mit untenstehendem code (hier im forum gefunden - tolle sache) optimiert. wenn jemand um 15 uhr arbeiten kommt, muss ich nur 15 eingeben und erhalte 15:00 (bzw. 1515 für 15:15 usw.). leider funktioniert das mit den zahlen zwischen mitternacht und 1 uhr früh nicht. 0 wird noch korrekt auf 0:00 gesetzt, ebenso 1 auf 1:00. bei der eingabe von 030 wird aber 6:00 angzeigt, bei 045 21:00 und bei 015 15:00. die zellen sind als h:mm formatiert. ganz herzlichen dank für eure hilfe.
manuela

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Worksheet
If Range(Target.Address).NumberFormat = "h:mm" Then
If Len(Target.Value) = 4 Then Target.Value = Mid$(Target.Value, 1, 2) & ":" & Mid$(Target.Value, 3, 2)
If Len(Target.Value) = 3 Then Target.Value = Mid$(Target.Value, 1, 1) & ":" & Mid$(Target.Value, 2, 2)
If Len(Target.Value) = 2 Then Target.Value = Mid$(Target.Value, 1, 2) & ":00"
If Len(Target.Value) = 1 Then Target.Value = Mid$(Target.Value, 1, 1) & ":00"
End If
End With
Application.EnableEvents = True
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: uhrzeit-problem
09.05.2006 12:06:44
Holger
Hallo Manuela
Ich habe auch in Excel eine Zeiterfassung gehe aber einen anderen Weg. Sobald meine Datei geöffnet wird trage ich per Worbook_Open in die Autokorrektur ein, das zwei Komma (also Zahlentatsatur ) durch einen Doppelpunkt ersetzt werden. Beim schliessen der Datei lösche ich den Eintrag wieder aus der Autokorrektur. Hier mein Code

Private Sub Workbook_Open()
'Ersetzt ,, in :
Application.AutoCorrect.AddReplacement What:=",,", Replacement:=":"
With Application.AutoCorrect
.TwoInitialCapitals = True
.CorrectSentenceCap = True
.CapitalizeNamesOfDays = True
.CorrectCapsLock = True
.ReplaceText = True
.DisplayAutoCorrectOptions = True
End With
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
'löscht vor dem schliessen Autokorrektureintrag
Application.AutoCorrect.DeleteReplacement What:=",,"
With Application.AutoCorrect
.TwoInitialCapitals = True
.CorrectSentenceCap = True
.CapitalizeNamesOfDays = True
.CorrectCapsLock = True
.ReplaceText = True
.DisplayAutoCorrectOptions = True
End With
'Beim Schließen der Datei die Symbolleiste wieder entfernen
On Error Resume Next
End Sub

Als Anregung. Ich lasse den Beitrag noch offen.
Gruß Holger
Anzeige
AW: uhrzeit-problem
09.05.2006 15:34:58
manuela
hallo holger
ist natürlich auch eine gute sache. wenn ich aber z.b. nur 15:00 eingeben will, dann muss ich die zwei kommas trotzdem mittippen, sonst kriege ich als uhrzeit 00:00. gibt es wirklich keine andere lösung? danke
manuela
AW: uhrzeit-problem
09.05.2006 16:51:14
manuela
hallo holger
habs selber gerafft. habe deinen code angepasst und wandle einfach via autokorrektur 015 in 0:15 usw. um. funktioniert perfekt.
danke
manuela
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