Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Berechnung von Dienstanfangszeiten aus Plantabellen
#1
Photo 
Hallo Forum. Ich bin neu in Excelthemen und benötige für ein Projekt eure Hilfe.
Hier meine Problematik:
in einem Tabellenblatt Plan verwende ich Plandaten in dem der Benutzer eine Zeitangabe in Industriezeit also 4,5 Std oder 2,5 Std. usw eintragen kann und zusätzlich ob er Frühschicht oder Spätschicht hat.
siehe Tabellenblatt Plan
Also in den Zellen F4 H4 J4 L4 stehen die Werte der Stunden.
In den Zellen G4 I4 K4 M4 stehen die Werte F für Frühschicht oder S für Spätschicht.

In einem Weitern Tabellenblatt (möglichst Monatsblätter Jan, Feb usw.) sollen sich die Zeiten basierend auf einen Ausgangswert z. B. Geschäftsbeginn 08:30 Uhr (den könnte man dann irgendwo auf der Plantabelle hinterlegen) wie folgt darstellen:
siehe Tabellenblatt Januar
UserA
D4 08:30 E4 12:00 F4 3,5  usw.

Erklärung: D4 Geschäftsbeginn Frühschicht
                E4 = aus Plan 3,5 Std. plus D4 
                F4 Wiederholgung Planstunden für die spätere Aufsummierung.

Das Problem ist nun wenn es sich beim UserC im Plan um den Eintrag S für Spätschicht handelt soll automatisch das Enddatum aus der längsten Länge der Frühschicht zwischen UserA / UserB / UserD als Beginn seiner Schicht dargestellt werden.
UserC
            J4 12:00 Geschäftsbeginn Spätschicht resultieren aus der längsten Länge der Frühschicht zwischen UserA / UserB / UserD
            K4 15:30 aus Plan 3,5 Std. plus J4
            L4 3,5 Wiederholgung Planstunden für die spätere Aufsummierung.

siehe auch 
.xlsm   Kopie.xlsm (Größe: 64,56 KB / Downloads: 15)

Ich hoffe das ist nicht allzu verwirrend wie ich es dargestellt habe  :20:

Auf einen Hinweis oder Lösungsansatz hoffend verbleibe ich.
Antworten Top
#2
Kann es vielleicht sein, dass es mit Excel einfach nicht zu lösen ist, dann lasst es mich doch bitte wissen.
Antworten Top
#3
Hallo

ich denke mal das die Aufgabe keineswegs verwirrend ist, sonst Entwirren wir sie ....

Anbei dein Beispiel zurück mit einem Target Makro das nur auf die Eingabe "S" reagiert!  Alle andere Eingaben werden ignoriert.  
Nach dem Eintrag der neuen Zeiten erscheint eine Msgbox zur Kontrolle und informiert welche Zeiten jetzt in den Zellen drinsteht.

Frage:   ihr habt umfangreiche Makros für jeden einzelnen Monat zu löschen, etc.  Aber ich finde kein Makro das die Daten aus dem Monat in den Plan übertregt. D.h., da arbeitet ihr m.E. "blind"!  Denn wenn sich Daten veraendern, wie teilt ihr das dem Monat mit,  Und wie bekommt ihr die Rückmeldung aus dem Monat über geaenderte Zellen.  Da fehlt m.E. noch ein Makro, sonst tappt ihr da wirklich "im Dunkeln" herum.  Ist eine Überlegung für naechstes Jahr.

Ich wünsche euch ein frohes neues Jahr und guten Rutsch ....    im positiven Sinne.

mfg  Gast 123


Angehängte Dateien
.xlsm   Kopie F.xlsm (Größe: 66,82 KB / Downloads: 5)
Antworten Top
#4
Hallo,

lass es mich mal so sagen, du konfrontierst uns mit einer Datei, die nicht unbedingt das repräsentiert, wie man Excellisten aufbauen sollte. Da es immer weiter um sich greift, dass Einsteiger im Bereich Excel zunächst schöne Listen erstellen, und dann um Hilfe bitten, wenn sie im Umgang damit Probleme bekommen, darfst du dich nicht wundern, wenn die Helfer hier und anderswo keine Lust haben, sich damit zu beschäftigen.

Das was man auf deinem Blatt für den Januar sieht, ist für die Datenerfassung völlig ausreichend, wenn du das zumindest für das ganze Jahr anlegst. Das lässt sich dann ganz ordentlich auswerten. Mehr brauchst du nicht!
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#5
Hallo Gast 123
deine Lösung ist genau das was wir gesucht haben. 
Und das mit dem fehlenden Makro müssen wir auch noch nachziehen da hast du recht. Aber nun haben wir ja schon einmal einen Weg in die richtige Richtung gewiesen bekommen und werden uns dransetzen es weiter zu verbessern. Vielen Herzlichen Dank und auch dir ein frohes neues Jahr und einen guten Rutsch.
Antworten Top
#6
Hallo Klaus-Dieter,
selbstverständlich hast du Recht damit, das das Blatt Januar völlig Ausreichend wäre.
Dennoch haben wir uns die Frage gestellt ob der Benutzer nicht mit wenigen Angaben ein ansprechendes Ergebnis bekommen könnte. 
Gast 123 hat uns da einen sehr guten Lösungsansatz aufgezeigt den wir auch noch weiter verfeinern werden.
Und ob nun der ein oder andere Lust hat oder nicht sich einem Problem hinzugeben oder es einfach zu lassen, das ist, so denken wir doch jedem selbst überlassen und macht den Reitz eines Forums aus. So zumindest unsere Philosophie. Wir alle und auch andere werden ja davon profitieren.
Und vielleicht gibt es ja Dinge die man mit Excel wirklich nicht umsetzen sollte. Dann muss man das eben auch akzeptieren.
Vielen Dank für deinen Post wir wünschen dir ein frohes neues Jahr
Antworten Top
#7
Hallo

was haltet ihr von dieser Lösung die Daten automatisch zu übertragen??  Bitte zuerst zwei/drei Monate ins Beispiel kopieren und das Makro im Beispiel gründlich testen.  Sollte es im Makor noch Fehler geben zerstört ihr in der Beispiel Datei KEINE Originaldaten!!  Jedes neue Makro muss bitte intensiv geprüft werden.

Das Makro notiert sich Eingaben in einem Monatsblatt.  Beim Blattwechsel wird gefragt ob diese Eingaben jetzt gebucht werden sollen.  Bei Nein oder Cancel wird der Eingabe Zaehler gelöscht. Ansonsten werden nur die Summen Spalten UserA bis UserD als Werte in den Plan kopiert. 

Im Plan ist ein Button der zum testen eine Msgbox aufruft ob eine Eingabe vorliegt.  Bei Datei Open wird die Eingabe immer gelöscht.

Wie gefaellt euch dieser Start ins neue Jahr ....

mfg  Gast 123


Angehängte Dateien
.xlsm   Kopie F (Spaetschicht 'S').xlsm (Größe: 109,93 KB / Downloads: 7)
Antworten Top
#8
Nachtrag

falls das Aufrufen des Makro den Betrieb stören würde kann ich mir im Plan in freien Zellen unter dem Datum auch notieren in welchem Monat Eingaben vorliegen, und man verbucht diese Eingaben per Button nur einmal am Abend. Wie ihr das lösen wollt ist eure Sache. Das Makro müsste dann ein wenig geaendert werden. Ich muss nur wissen was euch besser gefaellt.

mfg  Gast 123
Antworten Top
#9
Hallo Gast 123,
erst einmal ein Frohes und gesundes neues Jahr für dich und deine Familie,
Das ist ja schon fast perfekt. In deinen Berechnungen für die Zeit ist uns nur aufgefallen, das du immer mit einem festen Wert von 3:30 Std. rechnest. im Monatsbericht sollen aber die im Plan eingetragenen Std. Verwendung finden, die links neben dem  jeweiligen S stehen. Der Aufruf des Makros stört keinesfalls den Betrieb und da müsste dann auch nichts weiter angepasst werden.

Vielen herzlichen Dank für deine tolle Unterstützung
Antworten Top
#10
Hallo

freut mich wenn man an der Erweiterung nichts zu aendern braucht.  Hier ein korrigierter Code zum auswechseln in Tabelle "Plan"
Neu ist die Variable Zeit, die jetzt aus der Zelle neben "S" geladen wird. Würde mich freuen wenn danach alles einwandfrei klappt.

mfg  Gast 123

Code:
Option Explicit         '30.12.2018   Gast 123  für Clever Forum
Dim Monat As String, User As String
Dim EndZeit As Date, EndMax As Date
Dim j As Integer, Spa As Integer
Dim Zeit As Date   'neu  2.1.2019


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub
If Target.ColumnWidth > 4 Or Target.Row <= 2 Then Exit Sub

If Target.Value <> "S" Then Exit Sub
  User = Cells(2, Target.Column - 1)

  For j = Target.Column To Target.Column + 10
     If Cells(2, j) = "Monat" Then _
        Monat = Trim(Cells(2, j - 12)): Exit For
  Next j

  EndZeit = Empty:  EndMax = Empty: Spa = 0
 
'   On Error GoTo Fehler
  With Sheets(Monat)
     For j = 3 To 14
        If .Cells(2, j) = "Ende" Then
           'aktiven User Spalte notieren
           If .Cells(2, j + 1) = User Then Spa = j + 1
           If .Cells(2, j + 1) <> User Then
              If CDate(.Cells(Target.Row, j)) > CDate(EndMax) Then _
                 EndMax = Format(CDate(.Cells(Target.Row, j)), "hh:mm")
           End If
        End If
     Next j
       
     If Spa = 0 Then MsgBox User & " - User Name in " & Monat & " nicht gefunden!!": Exit Sub
       
     If EndMax = Empty Then EndMax = "08:30"   'Frühschicht setzen
     
     'Zeit aus Plan laden, in Zeit Format umwandeln
      Zeit = CDate(Target.Offset(0, -1) / 24)

     'geaenderte Zeiten im Monat eintragen
     .Cells(Target.Row, Spa - 2) = Format(EndMax, "hh:mm")
     .Cells(Target.Row, Spa - 1) = Format(CDate(EndMax) + CDate(Zeit), "hh:mm")
 
     'zum Prüfen neue Werte im Monat anzeigen
     MsgBox Left(CDate(.Cells(Target.Row, Spa - 2)), 5) & " - " & Left(CDate(.Cells(Target.Row, Spa - 1)), 5)
  End With
Exit Sub

Fehler:  MsgBox Monat & "  - Fehler:  Exisitiert diese Monats Tabelle??"
End Sub
Antworten Top


Gehe zu:


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