Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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

Zeiterfassung Schicht mit vba

Zeiterfassung Schicht mit vba
29.04.2013 06:07:51
Pietri
Hallo
Ich hoffe ihr könnt mir helfen,
Ich bin dabei eine zeiterfassung zu gestallten.. Und zwar ich in zelle A1 bin A31 das Datum zu stehen, also vom 1. bis zum 31. des monats. Nun möchte ich in zelle B1 bis B31 = F (frühsticht), S (spätschicht) , N (Nachtschicht) , No(normalschicht) eingeben und dann soll in zelle C1 bis C31 die Anfangszeit stehen und in zelle D1 bis D31 die Feierabendzeit. Ich weiß das ich das mit eine wenn Funktion schreiben kann aber ich will die Zeiten in C1 bis c31 und D1 bis d31 ändern können wenn ich mal Überstunden mache. Außerdem soll dann kein Eintrag mehr in zelle B1 bis B31 zu sehen sein sobald ich von Hand die zeit verändert haben.
Also die Zeiten sind wie folgt:
Früh : 6:00-14:00
Spät : 14:00-22:00
Nacht: 22:00-6:00
Normalschicht: 7:00-16:00
Also zusammengefasst.. Wenn ich am 3.5.2013 Frühschicht habe will ich in B3 Ein "F" eintragen und dann soll in C3 "6:00" und in D3 "14:00" stehen.. Sollte ich aber an den Tag bis 14:30 arbeiten, dann trage ich einfach in d3 "14:30" ein und in B3 steht dann nicht mehr "F" sondern nichts. Ich hoffe ihr habt mein Problem verstanden und könnt mir dabei helfen. Vielen dank im vorraus.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeiterfassung Schicht mit vba
29.04.2013 07:52:19
Armin
Hallo,
schau mal in das Archiv, diese Thema wurde einige 100male abgehandelt. Einfach "Zeiterfassung" eingeben!
Gruß Armin

AW: Zeiterfassung Schicht mit vba
29.04.2013 07:55:53
hary
Moin
Code in den Code der Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim an As String
Dim bis As String
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, Range("B1:B31")) Is Nothing Then
Select Case Target.Value
Case "F"
an = "6:00"
bis = "14:00"
Case "S"
an = "14:00"
bis = "22:00"
Case "N"
an = "22:00"
bis = "6:00"
End Select
Target.Offset(, 1) = Format(TimeValue(an), "HH:mm")
Target.Offset(, 2) = Format(TimeValue(bis), "HH:mm")
End If
If Not Intersect(Target, Range("C1:D31")) Is Nothing Then
Cells(Target.Row, 2) = ""
End If
Application.EnableEvents = True
End Sub

gruss hary
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige