PDA

Vollständige Version anzeigen : Dringende Hilfe benötigt. Schleifen.... HELP:( !!!


Dani_s
24.07.2012, 09:58
bin noch ein Anfänger im Bereich VBA mit Excel.

Also habe folgendes Problem.

Bin dabei das Verfahren der Losgrößenoptimierung nach LUC und GROFF mit VBA zu programmieren.

http://s1.directupload.net/images/120724/2zo5ccgr.jpg

s1.directupload.net/images/120724/2zo5ccgr.jpg

Leider habe ich alles mit IF Anweisungen begonnen, jetzt habe ich so ein drucheinander und ein sehr langen programmcode was letztendlich immer noch Fehler beinhaltet.

Periode: 1-6
Bedarf: Entweder durch Zufallszahlen ausfüllen oder selbst durch beliebige Zahlen ausfüllen
Losgröße: Von Periode 1 = Bedarf1 Periode2= Bedarf1+Bedarf2 usw
Rüstkosten: Sind gegeben
Lagerhaltungskosten: Periode1= 0,5 * Loskosten* Bedarf1 Periode2 = SummevonPeriode1 + 1,5 * Loskosten * Bedarf 2
Periode3= SummevonPeriode2 +2,5 * Loskosten * Bedarf2
Periode4= SummevonPeriode3+ 3,5 * Loskosten * Bedarf3
Periode5= SummevonPeriode4 +4,5 * Loskosten * Bedarf4
Periode6= SummevonPeriode5 +5,5 * Loskosten * Bedarf5

Gesamtkosten: Periode1=Rüstkosten1+Lagerhaltungskosten Periode2=Rüstkosten+Lagerhaltungskosten ....
Stückkosten: Periode1 = Gesamtkosten/Losgröße Periode2=Gesamtkosten2/Losgröße2

Damit wäre der Erste Durchgang beendet!

Der nächste Durchgang:

Die Losgrößen werden solange zusammengefasst solang die Stückkosten größer ist als die Folge Periode.

Hier in diesem Beispiel ist 2,29 kleiner als 2,66

Daher beginnt es bei der Periode 2.

Losgröße: Bedarf von Periode2 dann einfach aufsummieren bei den nächsten Perioden

Rüstkosten: gegeben wie oben
Lagerhaltungskosten: jetzt beginnt es wieder mit 0,5*Losgröße*BedarfvonPeriode2
dann bei Periode3 = SummevonPeriode2 * 1,5 * Losgröße *BedarfvonPeriode3
Gesamtkosten: Rüstkosten + Lagerhaltungskosten... bei allen Perioden
Stückkosten: Gesamtkosten / Losgröße ... bei allen Perioden

jetzt Druchgang wieder das selbe Spiel.

Bin sehr verzweifelt, ich hoffe auf eure Hilfe.
Ich bin auch bei größere Hilfe bereit was zu zahlen.



Mein Programmcode:

Private Sub CommandButton5_Click()

'Losgröße ermitteln nach LUC
'Losgröße berechen

Range("B7") = Range("B6")
Range("C7") = Range("B7") + Range("C6")
Range("D7") = Range("C7") + Range("D6")
Range("E7") = Range("D7") + Range("E6")
Range("F7") = Range("E7") + Range("F6")
Range("G7") = Range("F7") + Range("G6")


'Lagerhaltungskosten berechnen
Range("B9") = 0.5 * Range("B6") * Range("I5")
Range("C9") = Range("B9") + 1.5 * Range("C6") * Range("I5")
Range("D9") = Range("C9") + 2.5 * Range("D6") * Range("I5")
Range("E9") = Range("D9") + 3.5 * Range("E6") * Range("I5")
Range("F9") = Range("E9") + 4.5 * Range("F6") * Range("I5")
Range("G9") = Range("F9") + 5.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen
Range("B10") = Range("B8") + Range("B9")
Range("C10") = Range("C8") + Range("C9")
Range("D10") = Range("D8") + Range("D9")
Range("E10") = Range("E8") + Range("E9")
Range("F10") = Range("F8") + Range("F9")
Range("G10") = Range("G8") + Range("G9")


'Stückkosten berechen

Range("B11") = Range("B10") / Range("B7")
Range("C11") = Range("C10") / Range("C7")
Range("D11") = Range("D10") / Range("D7")
Range("E11") = Range("E10") / Range("E7")
Range("F11") = Range("F10") / Range("F7")
Range("G11") = Range("G10") / Range("G7")


'Step 2
If Range("B11") < Range("C11") Then
Range("C13") = Range("C7") - Range("B7")
Range("D13") = Range("C13") + Range("D6")
Range("E13") = Range("D13") + Range("E6")
Range("F13") = Range("E13") + Range("F6")
Range("G13") = Range("F13") + Range("G6")
Range("B13") = "-"
Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"



'lagerhaltungskosten

Range("C15") = 0.5 * Range("C6") * Range("I5")
Range("D15") = Range("C15") + 1.5 * Range("D6") * Range("I5")
Range("E15") = Range("D15") + 2.5 * Range("E6") * Range("I5")
Range("F15") = Range("E15") + 3.5 * Range("F6") * Range("I5")
Range("G15") = Range("F15") + 4.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("C16") = Range("C14") + Range("C15")
Range("D16") = Range("D14") + Range("D15")
Range("E16") = Range("E14") + Range("E15")
Range("F16") = Range("F14") + Range("F15")
Range("G16") = Range("G14") + Range("G15")


'Stückkosten berechen

Range("C17") = Range("C16") / Range("C13")
Range("D17") = Range("D16") / Range("D13")
Range("E17") = Range("E16") / Range("E13")
Range("F17") = Range("F16") / Range("F13")
Range("G17") = Range("G16") / Range("G13")


ElseIf Range("C11") < Range("D11") Then
Range("D13") = Range("D7") - Range("C7")
Range("E13") = Range("D13") + Range("E6")
Range("F13") = Range("E13") + Range("F6")
Range("G13") = Range("F13") + Range("G6")
Range("C13") = "-"
Range("B13") = "-"
Range("B15") = "-"
Range("C15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("C16") = "-"
Range("C17") = "-"


'Lagerhaltungskosten
Range("D15") = 0.5 * Range("D6") * Range("I5")
Range("E15") = Range("D15") + 1.5 * Range("E6") * Range("I5")
Range("F15") = Range("E15") + 2.5 * Range("F6") * Range("I5")
Range("G15") = Range("F15") + 3.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("D16") = Range("D14") + Range("D15")
Range("E16") = Range("E14") + Range("E15")
Range("F16") = Range("F14") + Range("F15")
Range("G16") = Range("G14") + Range("G15")

'Stückkosten berechen

Range("D17") = Range("D16") / Range("D13")
Range("E17") = Range("E16") / Range("E13")
Range("F17") = Range("F16") / Range("F13")
Range("G17") = Range("G16") / Range("G13")


ElseIf Range("D11") < Range("E11") Then
Range("E13") = Range("E7") - Range("D7")
Range("F13") = Range("E13") + Range("F6")
Range("G13") = Range("F13") + Range("G6")
Range("C13") = "-"
Range("B13") = "-"
Range("D13") = "-"
Range("C15") = "-"
Range("D15") = "-"
Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("C16") = "-"
Range("C17") = "-"
Range("D16") = "-"
Range("D17") = "-"


'Lagerhaltungskosten
Range("E15") = 0.5 * Range("E6")
Range("F15") = Range("E15") + 1.5 * Range("F13")
Range("G15") = Range("F15") + 2.5 * Range("G13")


'Gesamtkosten berechnen

Range("E16") = Range("E14") + Range("E15")
Range("F16") = Range("F14") + Range("F15")
Range("G16") = Range("G14") + Range("G15")

'Stückkosten berechen

Range("E17") = Range("E16") / Range("E13")
Range("F17") = Range("F16") / Range("F13")
Range("G17") = Range("G16") / Range("G13")


ElseIf Range("E11") < Range("F11") Then
Range("F13") = Range("F7") - Range("E7")
Range("G13") = Range("F13") + Range("G6")
Range("C13") = "-"
Range("B13") = "-"
Range("D13") = "-"
Range("C15") = "-"
Range("D15") = "-"
Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("C16") = "-"
Range("C17") = "-"
Range("D16") = "-"
Range("D17") = "-"
Range("E13") = "-"
Range("E15") = "-"
Range("E16") = "-"
Range("E17") = "-"


'Lagerhaltungskosten

Range("F15") = 0.5 * Range("F6") * Range("I5")
Range("G15") = Range("F15") + 1.5 * Range("G6") * Range("I5")

ElseIf Range("F11") < Range("G11") Then
Range("G13") = Range("G7") - Range("F7")

Range("C13") = "-"
Range("B13") = "-"
Range("D13") = "-"
Range("C15") = "-"
Range("D15") = "-"
Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("C16") = "-"
Range("C17") = "-"
Range("D16") = "-"
Range("D17") = "-"
Range("E13") = "-"
Range("E15") = "-"
Range("E16") = "-"
Range("E17") = "-"
Range("F13") = "-"
Range("F15") = "-"
Range("F16") = "-"
Range("F17") = "-"



'Lagerhaltungskosten
Range("G15") = 0.5 * Range("G6") * Range("I5")



Else
MsgBox ("Optimale Losfolge berechnet!!!")
End If


'Step 3
If Range("B17") < Range("C17") Then
Range("C19") = Range("C13") - Range("B13")
Range("D19") = Range("C19") + Range("D6")
Range("E19") = Range("D19") + Range("E6")
Range("F19") = Range("E19") + Range("F6")
Range("G19") = Range("F19") + Range("G6")
Range("B19") = "-"
Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"


'lagerhaltungskosten

Range("C21") = 0.5 * Range("C13") * Range("I5")
Range("D21") = Range("C21") + 1.5 * Range("D6") * Range("I5")
Range("E21") = Range("D21") + 2.5 * Range("E6") * Range("I5")
Range("F21") = Range("E21") + 3.5 * Range("F6") * Range("I5")
Range("G21") = Range("F21") + 4.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("C22") = Range("C20") + Range("C21")
Range("D22") = Range("D20") + Range("D21")
Range("E22") = Range("E20") + Range("E21")
Range("F22") = Range("F20") + Range("F21")
Range("G22") = Range("G20") + Range("G21")


'Stückkosten berechen

Range("C23") = Range("C22") / Range("C19")
Range("D23") = Range("D22") / Range("D19")
Range("E23") = Range("E22") / Range("E19")
Range("F23") = Range("F22") / Range("F19")
Range("G23") = Range("G22") / Range("G19")


ElseIf Range("C17") < Range("D17") Then

Range("D19") = Range("D13") - Range("C13")
Range("E19") = Range("D19") + Range("E6")
Range("F19") = Range("E19") + Range("F6")
Range("G19") = Range("F19") + Range("G6")

Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("B19") = "-"
Range("B21") = "-"
Range("B22") = "-"
Range("B23") = "-"
Range("C19") = "-"
Range("C21") = "-"
Range("C22") = "-"
Range("C23") = "-"



'lagerhaltungskosten

Range("D21") = 0.5 * Range("D6")
Range("E21") = Range("D21") + 1.5 * Range("E6") * Range("I5")
Range("F21") = Range("E21") + 2.5 * Range("F6") * Range("I5")
Range("G21") = Range("F21") + 3.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen


Range("D22") = Range("D20") + Range("D21")
Range("E22") = Range("E20") + Range("E21")
Range("F22") = Range("F20") + Range("F21")
Range("G22") = Range("G20") + Range("G21")


'Stückkosten berechen


Range("D23") = Range("D22") / Range("D19")
Range("E23") = Range("E22") / Range("E19")
Range("F23") = Range("F22") / Range("F19")
Range("G23") = Range("G22") / Range("G19")


ElseIf Range("D17") < Range("E17") Then

Range("E19") = Range("E13") - Range("D13")
Range("F19") = Range("E19") + Range("F6")
Range("G19") = Range("F19") + Range("G6")

Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("B19") = "-"
Range("B21") = "-"
Range("B22") = "-"
Range("B23") = "-"
Range("C19") = "-"
Range("C21") = "-"
Range("C22") = "-"
Range("C23") = "-"
Range("D19") = "-"
Range("D21") = "-"
Range("D22") = "-"
Range("D23") = "-"



'lagerhaltungskosten

Range("E21") = 0.5 * Range("E6") * Range("I5")
Range("F21") = Range("E21") + 1.5 * Range("F6") * Range("I5")
Range("G21") = Range("F21") + 2.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("E22") = Range("E20") + Range("E21")
Range("F22") = Range("F20") + Range("F21")
Range("G22") = Range("G20") + Range("G21")


'Stückkosten berechen

Range("E23") = Range("E22") / Range("E19")
Range("F23") = Range("F22") / Range("F19")
Range("G23") = Range("G22") / Range("G19")


ElseIf Range("E17") < Range("F17") Then

Range("F19") = Range("F13") - Range("E13")
Range("G19") = Range("F19") + Range("G6")

Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("B19") = "-"
Range("B21") = "-"
Range("B22") = "-"
Range("B23") = "-"
Range("C19") = "-"
Range("C21") = "-"
Range("C22") = "-"
Range("C23") = "-"
Range("D19") = "-"
Range("D21") = "-"
Range("D22") = "-"
Range("D23") = "-"
Range("E19") = "-"
Range("E21") = "-"
Range("E22") = "-"
Range("E23") = "-"


'lagerhaltungskosten


Range("F21") = 0.5 * Range("F6") * Range("I5")
Range("G21") = Range("F21") + 1.5 * Range("G6") * Range("I5")



'Gesamtkosten berechnen

Range("F22") = Range("F20") + Range("F21")
Range("G22") = Range("G20") + Range("G21")


'Stückkosten berechen

Range("F23") = Range("F22") / Range("F19")
Range("G23") = Range("G22") / Range("G19")


ElseIf Range("F17") < Range("G17") Then

Range("G19") = Range("G13") - Range("F13")

Range("B15") = "-"
Range("B16") = "-"
Range("B17") = "-"
Range("B19") = "-"
Range("B21") = "-"
Range("B22") = "-"
Range("B23") = "-"
Range("C19") = "-"
Range("C21") = "-"
Range("C22") = "-"
Range("C23") = "-"
Range("D19") = "-"
Range("D21") = "-"
Range("D22") = "-"
Range("D23") = "-"
Range("E19") = "-"
Range("E21") = "-"
Range("E22") = "-"
Range("E23") = "-"
Range("F19") = "-"
Range("F21") = "-"
Range("F22") = "-"
Range("F23") = "-"


'lagerhaltungskosten

Range("G21") = 0.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("G22") = Range("G20") + Range("G21")


'Stückkosten berechen

Range("G23") = Range("G22") / Range("G19")


Else
MsgBox ("Optimale Losfolge berechnet!!!")
End If




'Step 4
If Range("B23") < Range("C23") Then

Range("C25") = Range("C19") - Range("B19")
Range("D25") = Range("C25") + Range("D6")
Range("E25") = Range("D25") + Range("E6")
Range("F25") = Range("E25") + Range("F6")
Range("G25") = Range("F25") + Range("G6")

Range("B25") = "-"
Range("B27") = "-"
Range("B28") = "-"
Range("B29") = "-"


'lagerhaltungskosten

Range("C27") = 0.5 * Range("C6") * Range("I5")
Range("D27") = Range("C27") + 1.5 * Range("D6") * Range("I5")
Range("E27") = Range("D27") + 2.5 * Range("E6") * Range("I5")
Range("F27") = Range("E27") + 3.5 * Range("F6") * Range("I5")
Range("G27") = Range("F27") + 4.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("C28") = Range("C26") + Range("C27")
Range("D28") = Range("D26") + Range("D27")
Range("E28") = Range("E26") + Range("E27")
Range("F28") = Range("F26") + Range("F27")
Range("G28") = Range("G26") + Range("G27")


'Stückkosten berechen

Range("C29") = Range("C28") / Range("C25")
Range("D29") = Range("D28") / Range("D25")
Range("E29") = Range("E28") / Range("E25")
Range("F29") = Range("F28") / Range("F25")
Range("G29") = Range("G28") / Range("G25")

ElseIf Range("C23") < Range("D23") Then

Range("D25") = Range("D19") - Range("C19")
Range("E25") = Range("D25") + Range("E6")
Range("F25") = Range("E25") + Range("F6")
Range("G25") = Range("F25") + Range("G6")

Range("B25") = "-"
Range("B27") = "-"
Range("B28") = "-"
Range("B29") = "-"
Range("C25") = "-"
Range("C27") = "-"
Range("C28") = "-"
Range("C29") = "-"

'lagerhaltungskosten

Range("D27") = 0.5 * Range("D6") * Range("I5")
Range("E27") = Range("D27") + 1.5 * Range("E6") * Range("I5")
Range("F27") = Range("E27") + 2.5 * Range("F6") * Range("I5")
Range("G27") = Range("F27") + 3.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("D28") = Range("D26") + Range("D27")
Range("E28") = Range("E26") + Range("E27")
Range("F28") = Range("F26") + Range("F27")
Range("G28") = Range("G26") + Range("G27")


'Stückkosten berechen

Range("D29") = Range("D28") / Range("D25")
Range("E29") = Range("E28") / Range("E25")
Range("F29") = Range("F28") / Range("F25")
Range("G29") = Range("G28") / Range("G25")

ElseIf Range("D23") < Range("E23") Then

Range("E25") = Range("E19") - Range("D19")
Range("F25") = Range("E25") + Range("F6")
Range("G25") = Range("F25") + Range("G6")

Range("B25") = "-"
Range("B27") = "-"
Range("B28") = "-"
Range("B29") = "-"
Range("C25") = "-"
Range("C27") = "-"
Range("C28") = "-"
Range("C29") = "-"
Range("D25") = "-"
Range("D27") = "-"
Range("D28") = "-"
Range("D29") = "-"



'lagerhaltungskosten

Range("E27") = 0.5 * Range("E6") * Range("I5")
Range("F27") = Range("E27") + 1.5 * Range("F6") * Range("I5")
Range("G27") = Range("F27") + 2.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("E28") = Range("E26") + Range("E27")
Range("F28") = Range("F26") + Range("F27")
Range("G28") = Range("G26") + Range("G27")


'Stückkosten berechen

Range("E29") = Range("E28") / Range("E25")
Range("F29") = Range("F28") / Range("F25")
Range("G29") = Range("G28") / Range("G25")

ElseIf Range("E23") < Range("F23") Then

Range("F25") = Range("F19") - Range("E19")
Range("G25") = Range("F25") + Range("G6")

Range("B25") = "-"
Range("B27") = "-"
Range("B28") = "-"
Range("B29") = "-"
Range("C25") = "-"
Range("C27") = "-"
Range("C28") = "-"
Range("C29") = "-"
Range("D25") = "-"
Range("D27") = "-"
Range("D28") = "-"
Range("D29") = "-"
Range("E25") = "-"
Range("E27") = "-"
Range("E28") = "-"
Range("E29") = "-"

'lagerhaltungskosten

Range("F27") = 0.5 * Range("F6") * Range("I5")
Range("G27") = Range("F27") + 2.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("F28") = Range("F26") + Range("F27")
Range("G28") = Range("G26") + Range("G27")


'Stückkosten berechen

Range("F29") = Range("F28") / Range("F25")
Range("G29") = Range("G28") / Range("G25")

ElseIf Range("F23") < Range("G23") Then

Range("G25") = Range("G19") - Range("F19")

Range("B25") = "-"
Range("B27") = "-"
Range("B28") = "-"
Range("B29") = "-"
Range("C25") = "-"
Range("C27") = "-"
Range("C28") = "-"
Range("C29") = "-"
Range("D25") = "-"
Range("D27") = "-"
Range("D28") = "-"
Range("D29") = "-"
Range("E25") = "-"
Range("E27") = "-"
Range("E28") = "-"
Range("E29") = "-"
Range("F25") = "-"
Range("F27") = "-"
Range("F28") = "-"
Range("F29") = "-"


'lagerhaltungskosten

Range("G27") = 0.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("G28") = Range("G26") + Range("G27")


'Stückkosten berechen

Range("G29") = Range("G28") / Range("G25")




Else
Range("B29") = "-"
Range("C29") = "-"
Range("D29") = "-"
Range("E29") = "-"
Range("F29") = "-"
Range("G29") = "-"




End If

'Step 5
If Range("B29") < Range("C29") Then

Range("C31") = Range("C25") - Range("B25")
Range("D31") = Range("C31") + Range("D6")
Range("E31") = Range("D31") + Range("E6")
Range("F31") = Range("E31") + Range("F6")
Range("G31") = Range("F31") + Range("G6")

Range("B31") = "-"
Range("B33") = "-"
Range("B34") = "-"
Range("B35") = "-"


'lagerhaltungskosten

Range("C33") = 0.5 * Range("C25")
Range("D33") = Range("C33") + 1.5 * Range("D31")
Range("E33") = Range("D33") + 2.5 * Range("E31")
Range("F33") = Range("E33") + 3.5 * Range("F31")
Range("G33") = Range("F33") + 4.5 * Range("G31")


'Gesamtkosten berechnen

Range("C34") = Range("C32") + Range("C33")
Range("D34") = Range("D32") + Range("D33")
Range("E34") = Range("E32") + Range("E33")
Range("F34") = Range("F32") + Range("F33")
Range("G34") = Range("G32") + Range("G33")


'Stückkosten berechen

Range("C35") = Range("C34") / Range("C31")
Range("D35") = Range("D34") / Range("D31")
Range("E35") = Range("E34") / Range("E31")
Range("F35") = Range("F34") / Range("F31")
Range("G35") = Range("G34") / Range("G31")

ElseIf Range("C29") < Range("D29") Then

Range("D31") = Range("D25") - Range("B25")
Range("E31") = Range("D31") + Range("E6")
Range("F31") = Range("E31") + Range("F6")
Range("G31") = Range("F31") + Range("G6")

Range("B31") = "-"
Range("B33") = "-"
Range("B34") = "-"
Range("B35") = "-"
Range("C31") = "-"
Range("C33") = "-"
Range("C34") = "-"
Range("C35") = "-"

'lagerhaltungskosten

Range("D33") = 0.5 * Range("D6") * Range("I5")
Range("E33") = Range("D33") + 1.5 * Range("E6") * Range("I5")
Range("F33") = Range("E33") + 2.5 * Range("F6") * Range("I5")
Range("G33") = Range("F33") + 3.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("D34") = Range("D32") + Range("D33")
Range("E34") = Range("E32") + Range("E33")
Range("F34") = Range("F32") + Range("F33")
Range("G34") = Range("G32") + Range("G33")


'Stückkosten berechen

Range("D35") = Range("D34") / Range("D31")
Range("E35") = Range("E34") / Range("E31")
Range("F35") = Range("F34") / Range("F31")
Range("G35") = Range("G34") / Range("G31")

ElseIf Range("D29") < Range("E29") Then

Range("E31") = Range("E25") - Range("D25")
Range("F31") = Range("E31") + Range("F6")
Range("G31") = Range("F31") + Range("G6")

Range("B31") = "-"
Range("B33") = "-"
Range("B34") = "-"
Range("B35") = "-"
Range("C31") = "-"
Range("C33") = "-"
Range("C34") = "-"
Range("C35") = "-"
Range("D31") = "-"
Range("D33") = "-"
Range("D34") = "-"
Range("D35") = "-"

'lagerhaltungskosten

Range("E33") = 0.5 * Range("E6") * Range("I5")
Range("F33") = Range("E33") + 1.5 * Range("F6") * Range("I5")
Range("G33") = Range("F33") + 2.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("E34") = Range("E32") + Range("E33")
Range("F34") = Range("F32") + Range("F33")
Range("G34") = Range("G32") + Range("G33")


'Stückkosten berechen

Range("E35") = Range("E34") / Range("E31")
Range("F35") = Range("F34") / Range("F31")
Range("G35") = Range("G34") / Range("G31")

ElseIf Range("E29") < Range("F29") Then

Range("F31") = Range("F25") - Range("E25")
Range("G31") = Range("F31") + Range("G6")

Range("B31") = "-"
Range("B33") = "-"
Range("B34") = "-"
Range("B35") = "-"
Range("C31") = "-"
Range("C33") = "-"
Range("C34") = "-"
Range("C35") = "-"
Range("D31") = "-"
Range("D33") = "-"
Range("D34") = "-"
Range("D35") = "-"
Range("E31") = "-"
Range("E33") = "-"
Range("E34") = "-"
Range("E35") = "-"

'lagerhaltungskosten

Range("F33") = 0.5 * Range("F6") * Range("I5")
Range("G33") = Range("F33") + 1.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("F34") = Range("F32") + Range("F33")
Range("G34") = Range("G32") + Range("G33")


'Stückkosten berechen

Range("F35") = Range("F34") / Range("F31")
Range("G35") = Range("G34") / Range("G31")

ElseIf Range("F29") < Range("G29") Then

Range("G31") = Range("G25") - Range("F25")

Range("B31") = "-"
Range("B33") = "-"
Range("B34") = "-"
Range("B35") = "-"
Range("C31") = "-"
Range("C33") = "-"
Range("C34") = "-"
Range("C35") = "-"
Range("D31") = "-"
Range("D33") = "-"
Range("D34") = "-"
Range("D35") = "-"
Range("E31") = "-"
Range("E33") = "-"
Range("E34") = "-"
Range("E35") = "-"
Range("F31") = "-"
Range("F33") = "-"
Range("F34") = "-"
Range("F35") = "-"

'lagerhaltungskosten

Range("G33") = 0.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("G34") = Range("G32") + Range("G33")


'Stückkosten berechen

Range("G35") = Range("G34") / Range("G31")

Else
Range("B35") = "-"
Range("C35") = "-"
Range("D35") = "-"
Range("E35") = "-"
Range("F35") = "-"
Range("G35") = "-"

End If

'Step 6
If Range("B35") < Range("C35") Then

Range("C37") = Range("C31") - Range("B31")
Range("D37") = Range("C37") + Range("D6")
Range("E37") = Range("D37") + Range("E6")
Range("F37") = Range("E37") + Range("F6")
Range("G37") = Range("F37") + Range("G6")

Range("B37") = "-"
Range("B39") = "-"
Range("B40") = "-"
Range("B41") = "-"

'lagerhaltungskosten

Range("C39") = 0.5 * Range("C6") * Range("I5")
Range("D39") = Range("C37") + 1.5 * Range("D6") * Range("I5")
Range("E39") = Range("D37") + 2.5 * Range("E6") * Range("I5")
Range("F39") = Range("E37") + 3.5 * Range("F6") * Range("I5")
Range("G39") = Range("F37") + 4.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("C40") = Range("C38") + Range("C39")
Range("D40") = Range("D38") + Range("D39")
Range("E40") = Range("E38") + Range("E39")
Range("F40") = Range("F38") + Range("F39")
Range("G40") = Range("G38") + Range("G39")


'Stückkosten berechen

Range("C41") = Range("C40") / Range("C37")
Range("D41") = Range("D40") / Range("D37")
Range("E41") = Range("E40") / Range("E37")
Range("F41") = Range("F40") / Range("F37")
Range("G41") = Range("G40") / Range("G37")

ElseIf Range("C35") < Range("D35") Then

Range("D37") = Range("D31") - Range("C31")
Range("E37") = Range("D37") + Range("E6")
Range("F37") = Range("E37") + Range("F6")
Range("G37") = Range("F37") + Range("G6")

Range("B37") = "-"
Range("B39") = "-"
Range("B40") = "-"
Range("B41") = "-"
Range("C37") = "-"
Range("C39") = "-"
Range("C40") = "-"
Range("C41") = "-"

'lagerhaltungskosten

Range("D39") = 0.5 * Range("D6") * Range("I5")
Range("E39") = Range("D37") + 1.5 * Range("E6") * Range("I5")
Range("F39") = Range("E37") + 2.5 * Range("F6") * Range("I5")
Range("G39") = Range("F37") + 3.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("D40") = Range("D38") + Range("D39")
Range("E40") = Range("E38") + Range("E39")
Range("F40") = Range("F38") + Range("F39")
Range("G40") = Range("G38") + Range("G39")


'Stückkosten berechen

Range("D41") = Range("D40") / Range("D37")
Range("E41") = Range("E40") / Range("E37")
Range("F41") = Range("F40") / Range("F37")
Range("G41") = Range("G40") / Range("G37")

ElseIf Range("D35") < Range("E35") Then

Range("E37") = Range("E31") - Range("D31")
Range("F37") = Range("E37") + Range("F6")
Range("G37") = Range("F37") + Range("G6")

Range("B37") = "-"
Range("B39") = "-"
Range("B40") = "-"
Range("B41") = "-"
Range("C37") = "-"
Range("C39") = "-"
Range("C40") = "-"
Range("C41") = "-"
Range("D37") = "-"
Range("D39") = "-"
Range("D40") = "-"
Range("D41") = "-"

'lagerhaltungskosten

Range("E39") = 0.5 * Range("E6") * Range("I5")
Range("F39") = Range("E37") + 1.5 * Range("F6") * Range("I5")
Range("G39") = Range("F37") + 2.5 * Range("G6") * Range("I5")

'Gesamtkosten berechnen

Range("E40") = Range("E38") + Range("E39")
Range("F40") = Range("F38") + Range("F39")
Range("G40") = Range("G38") + Range("G39")


'Stückkosten berechen

Range("E41") = Range("E40") / Range("E37")
Range("F41") = Range("F40") / Range("F37")
Range("G41") = Range("G40") / Range("G37")

ElseIf Range("E35") < Range("F35") Then

Range("F37") = Range("F31") - Range("E31")
Range("G37") = Range("F37") + Range("G6")

Range("B37") = "-"
Range("B39") = "-"
Range("B40") = "-"
Range("B41") = "-"
Range("C37") = "-"
Range("C39") = "-"
Range("C40") = "-"
Range("C41") = "-"
Range("D37") = "-"
Range("D39") = "-"
Range("D40") = "-"
Range("D41") = "-"
Range("E37") = "-"
Range("E39") = "-"
Range("E40") = "-"
Range("E41") = "-"




'lagerhaltungskosten

Range("F39") = 0.5 * Range("F6") * Range("I5")
Range("G39") = Range("F37") + 1.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("F40") = Range("F38") + Range("F39")
Range("G40") = Range("G38") + Range("G39")


'Stückkosten berechen

Range("F41") = Range("F40") / Range("F37")
Range("G41") = Range("G40") / Range("G37")

ElseIf Range("F35") < Range("G35") Then

Range("G37") = Range("G31") - Range("F31")


Range("B37") = "-"
Range("B39") = "-"
Range("B40") = "-"
Range("B41") = "-"
Range("C37") = "-"
Range("C39") = "-"
Range("C40") = "-"
Range("C41") = "-"
Range("D37") = "-"
Range("D39") = "-"
Range("D40") = "-"
Range("D41") = "-"
Range("E37") = "-"
Range("E39") = "-"
Range("E40") = "-"
Range("E41") = "-"
Range("F37") = "-"
Range("F39") = "-"
Range("F40") = "-"
Range("F41") = "-"

'lagerhaltungskosten

Range("G39") = 0.5 * Range("G6") * Range("I5")


'Gesamtkosten berechnen

Range("G40") = Range("G38") + Range("G39")


'Stückkosten berechen

Range("G41") = Range("G40") / Range("G37")

Else
Range("B41") = "-"
Range("C41") = "-"
Range("D41") = "-"
Range("E41") = "-"
Range("F41") = "-"
Range("G41") = "-"

End If

' losfolge berechnen

If Range("B11") <= Range("C11") And Range("C17") <= Range("D17") And Range("D23") <= Range("E23") And Range("E29") <= Range("F29") And Range("F35") <= Range("G35") Then

Range("B43") = Range("B6")
Range("C43") = Range("C6")
Range("D43") = Range("D6")
Range("E43") = Range("E6")
Range("F43") = Range("F6")
Range("G43") = Range("G6")

ElseIf Range("B11") < Range("C11") And Range("C17") < Range("D17") And Range("D23") < Range("E23") And Range("E29") < Range("F29") And Range("F35") > Range("G35") Then

Range("B43") = Range("B6")
Range("C43") = Range("C6")
Range("D43") = Range("D6")
Range("E43") = Range("E6")
Range("F43") = Range("F6") + Range("G6")
Range("G43") = "-"

ElseIf Range("B11") > Range("C11") And Range("D17") < Range("E17") And Range("E23") > Range("F23") And Range("F23") < Range("G23") Then

Range("B43") = Range("B6") + Range("C6")
Range("C43") = "-"
Range("D43") = Range("D6")
Range("E43") = Range("E6") + Range("F6")
Range("F43") = "-"
Range("G43") = Range("G6")

ElseIf Range("B11") > Range("C11") And Range("D17") < Range("E17") And Range("E23") < Range("F23") And Range("F29") > Range("G29") Then

Range("B43") = Range("B6") + Range("C6")
Range("C43") = "-"
Range("D43") = Range("D6")
Range("E43") = Range("E6")
Range("F43") = Range("F6") + Range("G6")
Range("G43") = "-"

ElseIf Range("B11") > Range("C11") And Range("C11") > Range("D11") And Range("E17") < Range("F17") And Range("F23") > Range("G23") Then

Range("B43") = Range("B6") + Range("C6") + Range("D6")
Range("C43") = "-"
Range("D43") = "-"
Range("E43") = Range("E6")
Range("F43") = Range("F6") + Range("G6")
Range("G43") = "-"

und immer so weiter...

Else
MsgBox ("Losfolge nicht definiert")
End If

R J
25.07.2012, 13:32
Hi Dani,

ich bin mir sicher, Du schaffst den Rest allein. Hier mal ein Beispiel für die Berechnung der Lagerhaltungskosten:

Sub Berechnen()

For x = 0 To 5 '6 Durchläufe
Call Lagerhaltungskosten(9 + x * 6, x + 1)
'Das gleiche für die anderen Kosten....
'...
Next

End Sub

Sub Lagerhaltungskosten(zeile%, durchlauf As Byte)

Dim faktor As Double, x%, rng As Range

faktor = 0.5: x = 0

For sprung = 0 To 5

If durchlauf = 1 Then '1. Durchlauf
Set rng = Range("B" & zeile)
ElseIf durchlauf = 2 Then '2. Durchlauf
Set rng = Range("C" & zeile)
ElseIf durchlauf = 3 Then '3. Durchlauf
Set rng = Range("D" & zeile)
ElseIf durchlauf = 4 Then '4.Durchlauf
Set rng = Range("E" & zeile)
ElseIf durchlauf = 5 Then
Set rng = Range("F" & zeile)
Else
Range("G27") = 0.5 * Range("G6") * Range("I5")
Exit For
End If

' Anweisungen für 1. - 5. Durchlauf
If sprung = 0 Then
rng = faktor * Range("B6") * Range("I5")
Else
If x + durchlauf= 5 Then Exit For 'verlassen, wenn Anzahl der nötigen Anweisungen erreicht ist
rng.Offset(0, sprung) = rng.Offset(0, -1).Value + (faktor + sprung) * Range("C6") * Range("I5")
x = x + 1
End If
Next

Set rng = Nothing
End Sub




Ich hab es zwar nicht getestet, weil ich keine Lust hatte, mir Deine Vorlage nachzubauen, aber im Wesentlichen sollte es funktionieren...