Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Automatisieren von Zeiterfassung





Frage

Hallo Ihr guten Geister dieses Forums. Ich habe eine Arbeitszeiterfassung (manuell) erstellt funktioniert auch alles soweit. Nun meine Frage gibt es eine Möglichkeit über Buttons die Systemzeit in bestimmte Zellen des jeweiligen Tagesdatums zu schreiben und zwar für veschiedene Mitarbeiter (6Tage woche/4Mitarbeiter)? Wie kann man automatisch die Sonntage als nicht Arbeitstag abziehen. Ich weis, dies sind gleich mehrer Fragen auf einmal, aber ich hoffe Ihr könnt mir weiterhelfen. Vielen Dank im voraus. Gruß Karsten

Antwort 1 von workaholic

moin...

es gibt ohne weiteres die möglichkeit ein makro zu schreiben (gehe mal davon aus, dass das ganze in excel geschied)... erster schritt: klick auf eine befehlsfläche, zweiter schritt: auswählen der zu verbuchenden person, dritter schritt: eingabe der zu verbuchenden zeit... für alles weitere bräuchte man allerdings weitere infos...

die sache mit dem sonntag krigst du ohne probleme raus... sogar mit einer "wenn - abfrage" möglich...

gruß

torben

Antwort 2 von kvtv

Hallo Torben,
erst mal Dank für Deine Antwort.
die Richtung ist mir auch klar aber wie bewerkstelle ich das? Wie kann man den die Systemzeit per Makro in Zellen bekommen die dem jeweiligen Datum entsprechen und das noch für Kommen und Gehen getrennt.
Vielen Dank im voraus.
Gruß Karsten

Antwort 3 von kvtv

Hallo Ihr guten Geister dieses Forums,
hat denn keiner eine Idee wie ich dies erledigen kann.
Vielen danke im voraus.
Gruß Karsten

Antwort 4 von fedjo

Hallo Karsten,
schau mal auf die Seite:
http://xltreff.de/download.htm unter Downloads da gibt es einige Mustertabellen, vielleicht findest du ja das richtige.

Gruß
fedjo

Antwort 5 von fedjo

Hallo Karsten,
in das Codefenster "DieseArbeitsmappe" einfügen:

Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
ActiveCell = Date & ", " & Time
End Sub

Er fügt dann bei einem Doppelklick auf die Aktive Zelle
Datum und Uhrzeit ein.

Gruß
fedjo

Antwort 6 von kvtv

Hallo fedjo,
vielen Dank erstmal für Deine Infos. Das mit dem Makro ist ja schon mal nicht schlecht. Funktioniert auch soweit. Gibt es denn auch eine Möglichkeit über eine Button (ich nenne ihn mal "KOMMEN") in eine Tabelle in die Zelle (z.B. C11 für den ersten Tag des Monats und AG11 für den letzten Tag des Monats bei 31 Tagen) wo das Aktuelle Datum (Tag des Monats) drin steht die Systemzeit automatisch einzufügen. Und über den Buttun (ich nenne Ihn mal "GEHEN") in eine Tabelle in die Zelle (z.B. C12 für den ersten Tag des Monats und AG12 für den letzten Tag des Monats bei 31 Tagen) wo das Aktuelle Datum (Tag des Monats) drin steht die Systemzeit automatisch einzufügen. Es sollte also eine überprüfung des Systemdatums mit dem in der Tabelle unter C10 für den 1sten Tag und AG10 für den 31sten Tag (in der Zelle steht dann für den Tag 1 des Monats eine 1 und für den 31sten eine 31) erfolgen und dann automatisch z.B. bei Tag 1 in Zelle C11 die Zeit eingetragen wenn man den Button KOMMEN drückt. Wenn man den Button GEHEN drückt sollte beim Tag 1 unter C12 dann wieder die Zeit eingetragen werden Ich hoffe das man das verstehen kann, was ich hier geschrieben habe.

Bitte helft mir. Vielen Dank im voraus.
Gruß Karsten

Antwort 7 von kvtv

Hallo kann mir den keiner mehr helfen???
Vielen Dank im voraus.
Gruß Karsten

Antwort 8 von Mortensen

Hallo Karsten,

natürlich geht das auch - ist nur recht kompliziert, und grenzt schon fast an Softwareentwicklung.

Warum gehst du denn nicht hin, und machst dir eine Tabelle, in der du in der Spalte A die Tagesdaten 1. - 31. setzt, dann in Spalte B "Kommen" und in C "Gehen".

Dann platzierst du in Spalte D einen "Kommen-Button", der bei Klick in die Spalte B die Systemzeit einträgt.

Analog in Spalte E dann einen Gehen button, der in Spalte C die Systemzeit einträgt.

Du hast dann für jeden Tag einen Kommen- und einen Gehen-Button.

Ist zwar nicht so schön, und nicht elegant, aber mti Bordmitteln schnell zu realisieren und erfüllt seinen Zweck.

Antwort 9 von kvtv

Hallo Mortensen,
vielen Dank für Deine Ausführungen. Es ist eine nicht so elegante Lösung aber eine Lösung wie Du selbst schon bemerkt hattest. Ich hoffe aber dennoch auf dieses Wunder der Automation. Vieleicht gibt es ja doch noch eine Lösung für mich. Vielen Dank für Deine Bemühungen.

Gruß Karsten

Antwort 10 von kvtv

Hallo Coros!!!!!! Bist Du wieder da???
kannst Du Dich vieleicht mal um mein Problem mit der Automatisierung kümmern. Irgendwie wagt sich keiner so richtig ran an diese Geschichte.
Vielen Dank schon mal im voraus.
Gruß Karsten

Antwort 11 von coros

Hallo Karsten,

ich weiß jetzt nicht, ob ich das alles richtig verstanden habe. Du hast in der Zeile 10 von Spalte C bis AG die Zahlen 1 bis 31 für die Tage zu stehen. Nun möchtest Du, dass wenn Du auf den Button "Kommen" klickst, in der Spalte des Tages, an dem Du den Button betätigst, in Zeoile 11 die aktuelle Uhrzeit eingefügt wird. Als Beispiel, für den heutigen Tag in Spalte H, Zeile 11 die Uhrzeit. Das gleiche für den Button "Gehen". Wenn das so richtig ist, dann lade Dir mal eine Beispieldatei unter http://www.excelbeispiele.de/Beispiele_Supportnet/Beispiel_kvtv.xls , die ich erstellt ahbe, runter. Dort wird das realsiert. Wenn ich völlig falsch liege, erklär das bitte nochmal etwas einfacher, was Du Dir so vorstellst.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 12 von kvtv

Hallo Coros,
vielen Dank für Deine schnelle Hilfe. Das war auf den Punkt gebracht das was ich meine. Funktioniert prima. Kannst Du mir noch mal eine kleine Erläuterung geben wie dieses Makro den aktuellen Tag hinkriegt wird das mit der Variablen i gemacht? 3-33 sind demnach die Spalten D-AG oder?. Vielen lieben Dank für Deine, wie immer, sehr ergiebige Hilfe.

Gruß Karsten

Antwort 13 von coros

Hallo Karsten,

sorry, ich bin Dir noch eine Antwort schuldig.

Über die For-/ Nextschleife wird von Spalte C bis Spalte AG in Zeile 10 die Zahlen in den Zellen verglichen. Dabei steht in der Zeile

For i = 3 To 33

wie Du schon richtig vermutet hast, die Zahl 3 für Spalte C und die Zahl 33 für Spalte AG. Alles was einschließlich der beiden Zahlen dazwischen liegt, also 4 bis 32, wird abgefragt. Es wird einfach nur die durch die Schleife angesprochene Zelle abgefragt, ob der Wert gleich der aktuellen Tageszahl ist. Wenn ja, wird in Zeile 11 bzw. 12 die Uhrzeit eingetragen.

Ich hoffe, Du kannst etwas mit der Erklärung anfangen. Bei Fragen melde Dich bitte.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 14 von kvtv

Hallo Oliver,
hab vielen Dank für Deine Antwort. Ich habe mir schon gedacht das es so funktioniert. Eine frage hät ich schon noch. Kann ich denn die Zeiten noch auf oder abrunden auf Viertelstunden/Halbstunden/Dreiviertelstunden/Vollstunden.
Z.B. wenn die aktuelle Zeit über 10 min auf volle Viertelstunde aufrunden, Zeit über 20 min auf Halbstunden aufrunden, über 40 min auf Dreiviertelstunden aufrunden, wenn Zeit über 50 min auf Vollstunden aufrunden und wenn die Zeit unter 10 min auf Vollstunden abrunden, Zeit unter 20 min auf Viertelstunden abrunden, unter 40 min auf Halbstunden abrunden, wenn Zeit unter 50 min auf Dreiviertelstunden abrunden.
Ich hoffe, daß es halbwegs verständlich ist.
Vielleicht hast Du ja dafür auch eine Lösung.
Vielen Dank jedenfalls im voraus für Deine Bemühungen.
Gruß Karsten

Antwort 15 von coros

Hallo Karsten,

ersetze in den Makros die Zeilen

Cells(11, i) = Time


und

Cells(12, i) = Time


gegen die Zeilen

Cells(11, i) = Format(Application.WorksheetFunction.Round(Time * 96, 0) / 96, "hh:mm")


bzw.

Cells(12, i) = Format(Application.WorksheetFunction.Round(Time * 96, 0) / 96, "hh:mm")


Damit wird die Zeit entsprechend auf- und abgerundet.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 16 von kvtv

Hallo mOliver,
vielen Dank für Deine wie immer sehr schnelle Antwort.
Hab es gleich ausprobiert und es funktioniert hervorragend.
Wenn Du mir noch sagst warum das so funktioniert, dann wäre mein Wissensdurst (vorerst) gestillt. Darf ich Dich auch nochmal mit meiner anderen Frage hier im Forum, berteffs Deiner E-Bay-Tabelle unter "Datenabrageformular in Excel" belästigen. Wenn ja dann schon mal ein Danke im voraus.
Gruß Karsten

Antwort 17 von coros

Hallo Karsten,

erreicht wurde das durch die Aufrundenfunktion. Die Zahl 96 sagt eigentlich nicht mehr aus, als dass auf eine Viertelstunde gerundet werden soll. Eine Viertelstunde passt 4 mal in eine Stunde. Das ganze gerechnet für den Tag ergibt 96 (4*24 = 96). Das Ganze im Format hh:mm an die Zelle übertragen. Das war alles.

Was willst Du wegen der Ebayliste wissen?


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: