Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Überstunden von einem Arbeitsblatt in ein anderes übertragen
#1
Hallo liebe Excel-Gemeinde,

Mein Problem stellt sich wie folgt dar:

Ich habe eine Zeitkarte entworfen in der die Arbeitszeiten (+ o. -) erfasst werden und am Ende automatisch berechnet werden. Sieht wie folgt aus:

Spalten Waagrecht (Hier Senkrecht wegen besserer Beschreibung)

Tag Fr
Datum 01 (nur Tag ohne Monat; steht in Spalte P10)
Beginn 2 Spalten (wobei der Wert Minuten aus 1 Spalte gemäß Formel in 2
Spalte mit Formel(=WENN(D16<>"";TEXT(D16;"mm");"") weitergegeben
wird)
Ende 2 Spalten (wobei der Wert Minuten aus 1 Spalte gemäß Formel in 2
Spalte mit Formel (=WENN(F16<>"";TEXT(F16;"mm");"")weitergegeben
wird)
Std+ Formel zur Berechnung: =WENN(UND(D16<>"";F16<>"");WENN(TEXT(SUMME
(F16-D16);"hh:mm")>W16;SUMME(F16-D16)-W16;WENN(TEXT(SUMME(F16-
D16);"hh:mm")=W16;"";WENN(TEXT(SUMME(F16-D16);"hh:mm")
Min+ =WENN(H16<>"";TEXT(H16;"mm");"")
Std- Formel zur Berechnung: =WENN(UND(D16<>"";F16<>"");WENN(TEXT(SUMME
(F16-D16);"hh:mm") D16);"hh:mm")=W16;WENN(ISTZAHL(AD16);AC16;"");WENN(TEXT(SUMME
(F16-D16);"hh:mm")>W16;WENN(ISTZAHL(AC16);AC16;""))));"")
Min- =WENN(J16<>"";TEXT(J16;"mm");"")

Diese funktioniert wunderbar jedoch brauche ich jetzt noch folgende Funktion:

Es soll jetzt die Möglichkeit bestehen, dass wenn ein Mitarbeiter auf eine Schaltfläche klickt über ein Makro folgendes ausgelöst wird:
- den Eintrag anhand der Spalte Ende (den Mitarbeiter vorher entsprechend auswählen/markieren muss) berechnet
- alle Std ab 16:00 bis Endzeit in ein anderes Arbeitsblatt (Überstundenzettel (siehe Aufbau nachfolgend))
übertragen werden
- in der Zeitkarte dann das Ende mit 16:00 festgelegt wird, da ja Überstunden geschrieben werden

auf dem Arbeitsblatt "Überstunden" dann die Zeiten wie folgt eingetragen werden:
erster Eintrag in diese Spalten:
- Spalte B8 Datum und Beginn Zeit (immer 16:00)
- Spalte D8 Datum der Endzeit (bis Ende der eingetragenen Zeit)
bei neuerlichen Eintrag Prüfung ob in B8 bzw. D8 Eintrag schon vorhanden dann schreiben in Zeile B9 bzw. D9
usw. (für 40 Zeilen)
Monat muss nicht unbedingt angeführt werden da dies aus der Spalte P10 von der Zeitkarte genommen wird!

Ich weis dies ist eine längere Aufgabe und viel verlangt dass ihr mir helft.
Doch seit ihr meine letzte Hilfe dies zu realisieren.

Danke im Voraus und freue mich schon auf eure Beiträge!! Confused
to top
#2
Hallo,

ich verstehe nicht, warum die Minuten von der Zeit getrennt werden müssen und erst recht nicht, warum das über die Text-Funktion passieren soll.
Weiterhin ist mir unbegreiflich, warum Du Deine Tabelle nicht hier einstellst, damit wir uns ein Bild davon machen können.

Hier mal ein Ansatz, wie eine Zeiterfassung aussehen könnte:

Arbeitsblatt mit dem Namen 'Tabelle1'
 BCDEFGHIJ
2Di0107:15 16:3000:300 März

ZelleFormatWert
B2TTT01.03.2016
C2TT01.03.2016
D2hh:mm0,302083333333333
F2hh:mm0,6875
G2hh:mm2,08333333333334E-02

ZelleFormel
B2=DATUM(JAHR(HEUTE());MONAT(J2&0);ZEILE(B1))
C2=DATUM(JAHR(HEUTE());MONAT(J2&0);ZEILE(B1))
G2=WENN((D2="")+(F2="");"";MAX(0;F2-2/3))
H2=WENN((D2="")+(F2="");"";MAX(0;2/3-F2))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
to top
#3
Hola,

immerhin funktioniert Copy/Paste.

http://ms-office-forum.net/forum/showthr...p?t=331288

http://www.herber.de/forum/messages/1483255.html

http://www.online-excel.de/fom/fo_read.p...5684#a123x

Gruß,
steve1da
to top
#4
Hallo,

dann von mir noch das als Hinweis:

http://www.clever-excel-forum.de/Thread-Crossposting

Und damit Du siehst, was für einen Blödsinn Deine Formeln produzieren, hier mal eine Tabelle, die nach Deinen Vorgaben erstellt wurde:


Arbeitsblatt mit dem Namen 'Tabelle1'
 DEFGHIJK
307:151516:3030keine Überstunden  cxy
408:151516:3030##########  12:00
509:151516:3030keine Überstunden  5:30
610:151516:3030keine Überstunden  9:15

ZelleFormel
H3=WENN(TEXT(SUMME(F3-D3);"hh:mm")>K3;SUMME(F3-D3)-K3;"keine Überstunden")
H4=WENN(TEXT(SUMME(F4-D4);"hh:mm")>K4;SUMME(F4-D4)-K4;"keine Überstunden")
H5=WENN(TEXT(SUMME(F5-D5);"hh:mm")>K5;SUMME(F5-D5)-K5;"keine Überstunden")
H6=WENN(TEXT(SUMME(F6-D6);"hh:mm")>K6;SUMME(F6-D6)-K6;"keine Überstunden")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
to top
#5
Hallo liebe Unterstützer, 

Danke für die Beiträge. Bin gerade unterwegs u. werde am Abend die Tabelle einstellen, damit ihr euch vorstellen könnt was ich brauche. Danke und freu mich schon auf Eure Rückmeldungen.
to top
#6
Hallo,

Du brauchst keine Tabelle einstellen, die so aufgebaut ist, wie Du es beschrieben hast! Man arbeitet bei der Verarbeitung von Uhrzeiten nicht mit der Text-Funktion! Es ist auch unsinnig, die Minuten zu separieren, wenn man sowieso nicht damit arbeitet! Ein Text ist immer größer als eine Zahl. Daher wird, wenn in W16 eine Zahl steht, Deine Vergleichsoperation immer WAHR ergeben, dass ist zwar ggf. passend, wenn Du Ist-Zeiten hast, die größer sind als die Soll-Zeiten, rechnet aber auch, wenn die Ist-Zeit kleiner als die Soll-Zeit!
Was auch in einer Stundenerfassung tabu ist, ist die Änderung der Ist-Zeiten, wie es von Dir in der Zeitkarte geplant ist! Als Chef würde ich Dir eine Zeitkarte um die Ohren hauen, bei der Ende 16:00 steht und gleichzeitig Überstunden abgerechnet werden.

20 20 20
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
to top
#7
Hallo erstmal,

danke für die konstruktive Kritik!

Auch wenn deiner Meinung nach ein hochladen nichts bringt, so gibt es vielleicht jemanden der einen Vorschlag für dieses Problem hat.
Wie gesagt die Zeitkarte steht, es geht rein um die Formel für die Überstundentabelle damit bei Klick auf eine Schaltfläche die Überstunden ab 16:00 auf den Überstunden Zettel übertragen werden.
Bsp.: Zeitkarte wird für 01.03. von 08:00 - 18:00 eingetragen.
Am Ende des Monates entschließt sich der Mitarbeiter statt den 2 Zeitguthaben Std diese als Überstunde abzurechnen.
Daher markiert er die Spalte mit 18:00 und klickt auf die Schaltfläche wodurch diese auf 16:00 gestellt wird und auf den Überstunden Zettel übertragen wird.
Wichtig wäre auch das geprüft wird ob in Zeile B8 schon etwas steht damit dieser aut. in B9 einträgt usw....



Eintrag soll so aussehen wie im Arbeitsblatt Überstunden abgebildet.
Danke


Angehängte Dateien Thumbnail(s)
       
to top
#8
Hallo,

ich weiß, wie es aussieht, wenn man versucht, aus einem Papier ein Excelformular zu machen. Datei ist das aber keine, und somit kann man damit nichts anfangen. Und eins kann ich nur wiederholen: Auch wenn es mit Excel machbar ist, aber die Zeitkarte darf, wenn sie als Nachweis dient, nachträglich nicht mehr verändert werden. Das war auch auf dem Papier nicht erlaubt.
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
to top
#9
Ok, kein Problem!

Hier die Datei. Habe noch das nötigste entfernen müssen! Smile

Jetzt kannst du die Funktionen testen!!

Hoffe du kannst mir weiterhelfen damit ich es irgendwie schaffe!! Musst halt sagen wo ich den 6er Träger Bier hinsenden soll Smile


Angehängte Dateien
.xlsm   Zeitkarte.xlsm (Größe: 145,14 KB / Downloads: 11)
to top
#10
Hallo,

ich habe jetzt mal im ersten Arbeitsschritt die Tabelle mit Formeln bestückt. Für heute ist jetzt Feierabend. Ich werde mich evtl. im Laufe der Woche noch an den Button machen.



.xlsm   Zeitkarte.xlsm (Größe: 91,27 KB / Downloads: 15)
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Benutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Erika
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste