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

Taktplan füllen

Taktplan füllen
31.10.2019 18:38:01
Ralf
Hallo,
Ich wollte einen Taktplan füllen. Hierzu wird erst abgefragt wann der Plan starten soll, für welches Schichtmodell, die Anzahl der Arbeitstage pro Woche und die Anzahl der zu verteilenden Takte. Nun habe ich bereits soweit programmiert, das ich das Startdatum in einer Spalte Finde und für den Fall 7 Tage Woche nur Frühschicht und 7 Tage Woche 3 Schichtbetrieb kann ich das ganze auch entsprechend füllen. hier verwende ich eine For Schleife die über die Anzahl der Takte hoch zählt.
Nun zu meinem Problem:
Für die 2 Schicht Lösung muss ich ja immer nur Früh- und Mittagsschicht füllen. Dieses wollte ich über eine Abfrage einer extra Spalte machen. Ich weiß jedoch nicht wie ich dann die Takte hochzählen kann. Ich hatte es mit zwei ineinander liegenden For Schleifen versucht, kommen hier aber nicht weiter....
Selbiges gilt für die 5 Tage Woche, hier würde ich die Selbe Methode jedoch mit einer Abfrage das Wochentages machen.
Habt Ihr ggf. ne Lösung für die 5 Tage Woche sowie das 2 Schicht Problem
Hier mal der Code:
'Variable definieren
Dim SchichtModel As String
Dim ArbeitsTage As String
Dim StartDatum As String
Dim AnzahlTakte As Integer
Dim StartDatum1 As Date
Dim SuchBereich As Range
Dim DatumGefunden As Range
Dim StartZelle As Range
Dim StartArbeitsWoche As Range
Dim Arbeitszeit As Range
Dim I, X, AnzahlTage, Schichten As Integer
'Fehlerabfrage Arbeitstage / Schichtauswahl
If AuswahllisteTage.Text = "" Then
MsgBox "Es erfolgte keine Auswahl der Arbeitstage. Bitte korrigieren.", vbExclamation
Exit Sub
Else
If AuswahllisteSchichten.Text = "" Then
MsgBox "Es erfolgte keine Auswahl des Schichtmodels. Bitte korrigieren.", vbExclamation
Exit Sub
Else
If AnzahlTakteEingabebox.Value = "" Then
MsgBox "Es erfolgte keine Eingabe der Anzhahl der zu verteilenden Schichten. Bitte korrigieren.", vbExclamation
Exit Sub
End If
End If
End If
'Zuordnung der Variablen
StartDatum = Datumeingabebox.Value
ArbeitsTage = AuswahllisteTage.Value
SchichtModel = AuswahllisteSchichten.Value
AnzahlTakte = AnzahlTakteEingabebox.Value
'Fehlerabfrage Datumseingabe / Format
If Not IsDate(StartDatum) Then
GoTo fehler1
ElseIf IsDate(StartDatum) Then
If Not StartDatum = Format(CDate(StartDatum), "DD.MM.YYYY") Then
GoTo fehler2
Else: GoTo Ende
End If
Else: GoTo Ende
End If
fehler1: MsgBox "Bitte ein Datum eingeben.", vbExclamation
Exit Sub
fehler2: MsgBox "Bitte das Richtige Format verwenden.", vbExclamation
Exit Sub
Ende: MsgBox "Danke... Ihre daten wurden übernommen. Die Schichtzuordnung wird durchgeführt."
'Startdatum finden
StartDatum1 = CDate(FormatDateTime(StartDatum, vbShortDate))
With Worksheets("Tabelle1")
Set DatumGefunden = Range("A:A").Find(What:=StartDatum1, LookIn:=xlValues, LookAt:=xlWhole)
If DatumGefunden Is Nothing Then MsgBox "Fehler"
Set StartZelle = DatumGefunden.Offset(0, 4)
End With
'Schleifen zum Eintragen der Schichten
'If ArbeitsTage = ("5 Tage Woche") And SchichtModel = ("Nur Frühschicht") Then
'StartZelle.Offset(I * 3, 0).Value = ("Takt" & I + 1)
'If ArbeitsTage = ("5 Tage Woche") And SchichtModel = ("Früh- & Spätschicht") Then
'If ArbeitsTage = ("5 Tage Woche") And SchichtModel = ("Früh- , Spät- & Nachtschicht") Then
If ArbeitsTage = ("7 Tage Woche") And SchichtModel = ("Nur Frühschicht") Then
For I = 0 To AnzahlTakte - 1
StartZelle.Offset(I * 3, 0).Value = ("Takt" & I + 1)
Next I
End If
If ArbeitsTage = ("7 Tage Woche") And SchichtModel = ("Früh- & Spätschicht") Then
If StartZelle.Offset(-2, 0).Value = ("F") Or ("M") Then
For I = 0 To AnzahlTakte - 1
StartZelle.Offset(X, 0).Value = ("Takt" & I + 1)
Next I
End If
If ArbeitsTage = ("7 Tage Woche") And SchichtModel = ("Früh- , Spät- & Nachtschicht") Then
For I = 0 To AnzahlTakte - 1
StartZelle.Offset(I, 0).Value = ("Takt" & I + 1)
Next I
End If

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

Betreff
Datum
Anwender
Anzeige
AW: Taktplan füllen
31.10.2019 19:11:09
Regina
Hi,
lade doch bitte mal eine Beispielmappe hoch, wo Du die Vorgaben darstellst und das gewünschte Ergebnis. Dann kann man dir sicherlich helfen.
Gruß
Regina
AW: Taktplan füllen
02.11.2019 09:06:37
Ralf
Hallo,
Sorry für die späte Antwort, anbei die Beispieldatei.
In Spalte A steht das Datum, In Spalte B wird dazu der Wochentag ermittelt, in Spalte c sollen Feiertage stehen.
In Spalte D soll dann je nach Auswahl des Starttages und der Anzahl der Arbeitstage sowie des Schichtmodels und der Anzahl der Takte eine Aufteilung der Takte erfolgen.
Für eine 7 Tagewoche und 1 bzw. 3 Schichten ist das ja kein Problem, ich suche nach der Lösung für 5 Tage oder 2 Schichten. hier bin ich wohl zu unerfahren.
Grüße
Ralf
Ich hoffe das is soweit verständlich.
https://www.herber.de/bbs/user/132904.xls
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige