Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kapazitätsplanung

Kapazitätsplanung
08.01.2008 13:55:00
Thommy
Hallo liebe Excel-Freaks!
Ich hoffe Ihr hattet alle einen angenehmen Jahreswechsel (wenn möglich ohne Kopfweh *gg*) und einen tollen Start ins neue Jahr!?!?
So nun zum Thema:
Ich soll hier in der Firma im Excel eine Kapazitätsplanung erstellen und kämpf mich nun hier so durch den Sumpf und studier halt wie ich das am Besten löse.
Die Daten hierfür hole ich recht easy aus einem PPS-Programm. Leider ist die Kapazitätsplanung in diesem System nicht zu unserer Zufriedenheit, sodass wir selber tricksen müssen.
Die Vorstellung von meinem ist folgende:
Wir holen die Daten vom PPS-Programm ins Excel, was ja kein Problem darstellt. Dann soll darin automatisch per Knopfdruck die freie (oder nicht freie Kapazität) von den einzelnen Abteilungen berechnet werden. d.h. wir geben die zur Verfügung stehenden Personen ein, hinterlegen für die jeweilige Woche die zur Verfügung stehende Wochenarbeitszeit / Person (meist 38,50 h und da wir in Industrieminuten rechnen sind das 3850 min) - das rechnet sich dann automatisch hoch, d.h. Person * Zeit. Dann haben wir die zur Verfügungsstehende Kapazität. Und davon soll die für die Aufträge benötigte Zeit abgezogen werden.
Jetzt hab ich mal der einfachheit in einer Tabelle die Wochen runter geschrieben, wo man die Zeit und die Personen eintragen kann und folgenden VBA-Code dafür mal erstellt. Dieser kann aber meiner Meinung nach sicher um einiges gekürzt werden!?!
Der Code wäre:

Sub Zuschnitt()
Sheets("Daten").Select
KW01 = 0
KW02 = 0
KW03 = 0
KW04 = 0
KW05 = 0
KW06 = 0
KW07 = 0
KW08 = 0
KW09 = 0
KW10 = 0
KW11 = 0
KW12 = 0
KW13 = 0
KW14 = 0
KW15 = 0
KW16 = 0
KW17 = 0
KW18 = 0
KW19 = 0
KW20 = 0
KW21 = 0
KW22 = 0
KW23 = 0
KW24 = 0
KW25 = 0
KW26 = 0
KW27 = 0
KW28 = 0
KW29 = 0
KW30 = 0
KW31 = 0
KW32 = 0
KW33 = 0
KW34 = 0
KW35 = 0
KW36 = 0
KW37 = 0
KW38 = 0
KW39 = 0
KW40 = 0
KW41 = 0
KW42 = 0
KW43 = 0
KW44 = 0
KW45 = 0
KW46 = 0
KW47 = 0
KW48 = 0
KW49 = 0
KW50 = 0
KW51 = 0
KW52 = 0
KW53 = 0
AA:
A = A + 1
If Cells(A, 2).Value = "" Then GoTo BB:
If Cells(A, 2).Value  "ZUSCHNITT" Then GoTo AA:
If Cells(A, 10).Value = 1 Then KW01 = KW01 + Cells(A, 6).Value
If Cells(A, 10).Value = 2 Then KW02 = KW02 + Cells(A, 6).Value
If Cells(A, 10).Value = 3 Then KW03 = KW03 + Cells(A, 6).Value
If Cells(A, 10).Value = 4 Then KW04 = KW04 + Cells(A, 6).Value
If Cells(A, 10).Value = 5 Then KW05 = KW05 + Cells(A, 6).Value
If Cells(A, 10).Value = 6 Then KW06 = KW06 + Cells(A, 6).Value
If Cells(A, 10).Value = 7 Then KW07 = KW07 + Cells(A, 6).Value
If Cells(A, 10).Value = 8 Then KW08 = KW08 + Cells(A, 6).Value
If Cells(A, 10).Value = 9 Then KW09 = KW09 + Cells(A, 6).Value
If Cells(A, 10).Value = 10 Then KW10 = KW10 + Cells(A, 6).Value
If Cells(A, 10).Value = 11 Then KW11 = KW11 + Cells(A, 6).Value
If Cells(A, 10).Value = 12 Then KW12 = KW12 + Cells(A, 6).Value
If Cells(A, 10).Value = 13 Then KW13 = KW13 + Cells(A, 6).Value
If Cells(A, 10).Value = 14 Then KW14 = KW14 + Cells(A, 6).Value
If Cells(A, 10).Value = 15 Then KW15 = KW15 + Cells(A, 6).Value
If Cells(A, 10).Value = 16 Then KW16 = KW16 + Cells(A, 6).Value
If Cells(A, 10).Value = 17 Then KW17 = KW17 + Cells(A, 6).Value
If Cells(A, 10).Value = 18 Then KW18 = KW18 + Cells(A, 6).Value
If Cells(A, 10).Value = 19 Then KW19 = KW19 + Cells(A, 6).Value
If Cells(A, 10).Value = 20 Then KW20 = KW20 + Cells(A, 6).Value
If Cells(A, 10).Value = 21 Then KW21 = KW21 + Cells(A, 6).Value
If Cells(A, 10).Value = 22 Then KW22 = KW22 + Cells(A, 6).Value
If Cells(A, 10).Value = 23 Then KW23 = KW23 + Cells(A, 6).Value
If Cells(A, 10).Value = 24 Then KW24 = KW24 + Cells(A, 6).Value
If Cells(A, 10).Value = 25 Then KW25 = KW25 + Cells(A, 6).Value
If Cells(A, 10).Value = 26 Then KW26 = KW26 + Cells(A, 6).Value
If Cells(A, 10).Value = 27 Then KW27 = KW27 + Cells(A, 6).Value
If Cells(A, 10).Value = 28 Then KW28 = KW28 + Cells(A, 6).Value
If Cells(A, 10).Value = 29 Then KW29 = KW29 + Cells(A, 6).Value
If Cells(A, 10).Value = 30 Then KW30 = KW30 + Cells(A, 6).Value
If Cells(A, 10).Value = 31 Then KW31 = KW31 + Cells(A, 6).Value
If Cells(A, 10).Value = 32 Then KW32 = KW32 + Cells(A, 6).Value
If Cells(A, 10).Value = 33 Then KW33 = KW33 + Cells(A, 6).Value
If Cells(A, 10).Value = 34 Then KW34 = KW34 + Cells(A, 6).Value
If Cells(A, 10).Value = 35 Then KW35 = KW35 + Cells(A, 6).Value
If Cells(A, 10).Value = 36 Then KW36 = KW36 + Cells(A, 6).Value
If Cells(A, 10).Value = 37 Then KW37 = KW37 + Cells(A, 6).Value
If Cells(A, 10).Value = 38 Then KW38 = KW38 + Cells(A, 6).Value
If Cells(A, 10).Value = 39 Then KW39 = KW39 + Cells(A, 6).Value
If Cells(A, 10).Value = 40 Then KW40 = KW40 + Cells(A, 6).Value
If Cells(A, 10).Value = 41 Then KW41 = KW41 + Cells(A, 6).Value
If Cells(A, 10).Value = 42 Then KW42 = KW42 + Cells(A, 6).Value
If Cells(A, 10).Value = 43 Then KW43 = KW43 + Cells(A, 6).Value
If Cells(A, 10).Value = 44 Then KW44 = KW44 + Cells(A, 6).Value
If Cells(A, 10).Value = 45 Then KW45 = KW45 + Cells(A, 6).Value
If Cells(A, 10).Value = 46 Then KW46 = KW46 + Cells(A, 6).Value
If Cells(A, 10).Value = 47 Then KW47 = KW47 + Cells(A, 6).Value
If Cells(A, 10).Value = 48 Then KW48 = KW48 + Cells(A, 6).Value
If Cells(A, 10).Value = 49 Then KW49 = KW49 + Cells(A, 6).Value
If Cells(A, 10).Value = 50 Then KW50 = KW50 + Cells(A, 6).Value
If Cells(A, 10).Value = 51 Then KW51 = KW51 + Cells(A, 6).Value
If Cells(A, 10).Value = 52 Then KW52 = KW52 + Cells(A, 6).Value
If Cells(A, 10).Value = 53 Then KW53 = KW53 + Cells(A, 6).Value
GoTo AA:
BB:
Sheets("Zuschnitt").Range("E6").Value = KW01
Sheets("Zuschnitt").Range("E7").Value = KW02
Sheets("Zuschnitt").Range("E8").Value = KW03
Sheets("Zuschnitt").Range("E9").Value = KW04
Sheets("Zuschnitt").Range("E10").Value = KW05
Sheets("Zuschnitt").Range("E11").Value = KW06
Sheets("Zuschnitt").Range("E12").Value = KW07
Sheets("Zuschnitt").Range("E13").Value = KW08
Sheets("Zuschnitt").Range("E14").Value = KW09
Sheets("Zuschnitt").Range("E15").Value = KW10
Sheets("Zuschnitt").Range("E16").Value = KW11
Sheets("Zuschnitt").Range("E17").Value = KW12
Sheets("Zuschnitt").Range("E18").Value = KW13
Sheets("Zuschnitt").Range("E19").Value = KW14
Sheets("Zuschnitt").Range("E20").Value = KW15
Sheets("Zuschnitt").Range("E21").Value = KW16
Sheets("Zuschnitt").Range("E22").Value = KW17
Sheets("Zuschnitt").Range("E23").Value = KW18
Sheets("Zuschnitt").Range("E24").Value = KW19
Sheets("Zuschnitt").Range("E25").Value = KW20
Sheets("Zuschnitt").Range("E26").Value = KW21
Sheets("Zuschnitt").Range("E27").Value = KW22
Sheets("Zuschnitt").Range("E28").Value = KW23
Sheets("Zuschnitt").Range("E29").Value = KW24
Sheets("Zuschnitt").Range("E30").Value = KW25
Sheets("Zuschnitt").Range("E31").Value = KW26
Sheets("Zuschnitt").Range("E32").Value = KW27
Sheets("Zuschnitt").Range("E33").Value = KW28
Sheets("Zuschnitt").Range("E34").Value = KW29
Sheets("Zuschnitt").Range("E35").Value = KW30
Sheets("Zuschnitt").Range("E36").Value = KW31
Sheets("Zuschnitt").Range("E37").Value = KW32
Sheets("Zuschnitt").Range("E38").Value = KW33
Sheets("Zuschnitt").Range("E39").Value = KW34
Sheets("Zuschnitt").Range("E40").Value = KW35
Sheets("Zuschnitt").Range("E41").Value = KW36
Sheets("Zuschnitt").Range("E42").Value = KW37
Sheets("Zuschnitt").Range("E43").Value = KW38
Sheets("Zuschnitt").Range("E44").Value = KW39
Sheets("Zuschnitt").Range("E45").Value = KW40
Sheets("Zuschnitt").Range("E46").Value = KW41
Sheets("Zuschnitt").Range("E47").Value = KW42
Sheets("Zuschnitt").Range("E48").Value = KW43
Sheets("Zuschnitt").Range("E49").Value = KW44
Sheets("Zuschnitt").Range("E40").Value = KW45
Sheets("Zuschnitt").Range("E41").Value = KW46
Sheets("Zuschnitt").Range("E42").Value = KW47
Sheets("Zuschnitt").Range("E43").Value = KW48
Sheets("Zuschnitt").Range("E44").Value = KW49
Sheets("Zuschnitt").Range("E45").Value = KW50
Sheets("Zuschnitt").Range("E46").Value = KW51
Sheets("Zuschnitt").Range("E47").Value = KW52
Sheets("Zuschnitt").Range("E48").Value = KW53
End Sub


Jetzt weiß ich nicht auf die schnelle wie ich dem Excel beibring, dass ...
... bisher heißt der Code
If Cells(A, 10).Value = 1 Then KW01 = KW01 + Cells(A, 6).Value
If Cells(A, 10).Value = 2 Then KW02 = KW02 + Cells(A, 6).Value
If Cells(A, 10).Value = 3 Then KW03 = KW03 + Cells(A, 6).Value
...
... der soll wenn möglich auf 1 Zeile beschränkt werden und
xx = der Wert aus der Cells(A, 10).Value
KWxx = KWxx + Cells(A, 6).Value
Excel soll da sofort erkennen, wenn z. b. Cells(A, 6).Value = 06 ist (d.h. für KW06),
dann soll die die Formel lauten.
KW06 = KW06 + Cells(A, 6).Value
müsste doch gehen oder? Weil dann erspar ich den restlichen durchlauf!
Ich hab auch eine Demo von meinem bisherigen Ergebnis hier abgelegt zur Ansicht:
https://www.herber.de/bbs/user/48882.xls
Falls jemand aber vielleicht selbst schon so etwas in Verwendung hat, und mir seine Datei zur Verfügung stellen möchte, wäre ich auch sehr dankbar!!
Bedanke mich schon jetzt mal vorab für jede Rückinfo!!
danke + lg
Thommy

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

Betreff
Datum
Anwender
Anzeige
AW: Kapazitätsplanung
08.01.2008 15:28:00
fcs
Hallo Thommy,
deinen Code kannst du mit einer Feldvariablen für die zu summierenden Werte wie folgt einkürzen:

Sub Zuschnitt()
Dim arrKW(1 To 53) As Double, lZeile As Long, iKW As Integer
With Worksheets("Daten")
AA:
lZeile = lZeile + 1
If .Cells(lZeile, 2).Value = "" Then GoTo BB:
If .Cells(lZeile, 2).Value  "ZUSCHNITT" Then GoTo AA:
arrKW(.Cells(lZeile, 10).Value) = arrKW(.Cells(lZeile, 10).Value) + .Cells(lZeile, 6).Value
GoTo AA:
End With
BB:
With Sheets("Zuschnitt")
For iKW = 1 To 53
.Cells(6 + iKW - 1, 5).Value = arrKW(iKW)
Next
End With
End Sub


Gruß
Franz

Anzeige
AW: Kapazitätsplanung
08.01.2008 15:58:40
Thommy
Hallo Franz,
Dein Code scheint zu funzen!
Danke mal .... jetzt muß ich nur noch gucken wie ich den Plan am Besten aufbaue.
Würde mich dennoch freuen, wenn ich von z.B. eine Demo bekommen könnte, wie andere das aufgebaut haben, als Vergleich bzw. Hilfestellung.
Danke
lg Thommy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige