AW: Dazu passt aber doch auch dein Antwort weiter unte
26.06.2018 16:19:42
CO-Robert
Hi,
ok, ich habe angenommen, dass es sich bei einer derartigen Fragestellung um eine generelle Routine handelt, in der Art wie P(i) über i=1 bis n, wobei n eben variabel ist.
Aber hier mal der code: (handelt sich hierbei um die b-Version aus dem Entwicklungsstadium, aber prinzipiell gleicher Aufbau)
Sub Planung_Hauptprodukt()
Dim limit As Double, weight As Double, value As Double, totalWeight As Double, maximumValue As _
Double, anlegermax As Double, anleger As Double
Dim a, b, c, d, e, f, g, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z As Integer
Dim weighta, weightb, weightc, weightd, weighte, weightf, weightg, weighti, weightj, weightk, _
weightl,
weightm, weightn, weighto, weightp, weightq, weightr, weights, weightt, weightu, weightv, _
weightw, weightx, weighty, weightz As Double
Dim valuea, valueb, valuec, valued, valuee, valuef, valueg, valuei, valuej, valuek, valuel, _
valuem,
valuen, valueo, valuep, valueq, valuer, values, valuet, valueu, valuev, valuew, valuex, valuey, _
valuez As Double
Dim anlegera, anlegerb, anlegerc, anlegerd, anlegere, anlegerf, anlegerg, anlegeri, anlegerj, _
anlegerk,
anlegerl, anlegerm, anlegern, anlegero, anlegerp, anlegerq, anlegerr, anlegers, anlegert, _
anlegeru, anlegerv, anlegerw, anlegerx, anlegery, anlegerz As Double
Range("N10").value = 0
Range("B28").value = 0
Range("B30").value = 0
Range("B7").value = 0
Range("B9").value = 0
Range("B26:V26").value = 0
limit = Range("D7").value
anlegermax = Range("D11").value
maximumValue = 0
Range("G10").value = "... bitte warten"
weighti = Range("B2").value
weightj = Range("C2").value
weightk = Range("D2").value
weightl = Range("E2").value
weightm = Range("F2").value
weightn = Range("G2").value
weighto = Range("H2").value
weightp = Range("I2").value
weightq = Range("J2").value
weightr = Range("K2").value
weights = Range("L2").value
weightt = Range("M2").value
weightu = Range("N2").value
weightv = Range("O2").value
weightw = Range("P2").value
weightx = Range("Q2").value
weighty = Range("R2").value
weightz = Range("S2").value
weighta = Range("T2").value
weightb = Range("U2").value
weightc = Range("V2").value
weightd = Range("W2").value
weighte = Range("X2").value
weightf = Range("Y2").value
weightg = Range("Z2").value
valuei = Range("B4").value
valuej = Range("C4").value
valuek = Range("D4").value
valuel = Range("E4").value
valuem = Range("F4").value
valuen = Range("G4").value
valueo = Range("H4").value
valuep = Range("I4").value
valueq = Range("J4").value
valuer = Range("K4").value
values = Range("L4").value
valuet = Range("M4").value
valueu = Range("N4").value
valuev = Range("O4").value
valuew = Range("P4").value
valuex = Range("Q4").value
valuey = Range("R4").value
valuez = Range("S4").value
valuea = Range("T4").value
valueb = Range("U4").value
valuec = Range("V4").value
valued = Range("W4").value
valuee = Range("X4").value
valuef = Range("Y4").value
valueg = Range("Z4").value
For i = 0 To 1
For j = 0 To 1
For k = 0 To 1
For l = 0 To 1
For m = 0 To 1
For n = 0 To 1
For o = 0 To 1
For p = 0 To 1
For q = 0 To 1
For r = 0 To 1
For s = 0 To 1
For t = 0 To 1
For u = 0 To 1
For v = 0 To 1
For w = 0 To 1
For x = 0 To 1
For y = 0 To 1
For z = 0 To 1
For a = 0 To 1
For b = 0 To 1
For c = 0 To 1
For d = 0 To 1
For e = 0 To 1
For f = 0 To 1
For g = 0 To 1
_
weight = weighti * i + weightj * j + weightk * k + weightl * l + weightm * m + weightn * n +
weighto * o + weightp * p + weightq * q + weightr * r + weights * s + weightt * t + weightu * u _
weightv * v + weightw * w + weightx * x + weighty * y + weightz * z + weighta * a + weightb * b _
weightc * c + weightd * d + weighte * e + weightf * f + weightg * g
value = valuei * i + valuej * j + valuek * k + valuel * l + valuem * m + valuen * n + valueo * _
o +
valuep * p + valueq * q + valuer * r + values * s + valuet * t + valueu * u + valuev * v +
valuew * w + valuex * x + valuey * y + valuez * z + valuea * a + valueb * b + valuec * c +
valued * d + valuee * e + valuef * f + valueg * g
anleger = i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z + a + b + c
+ d + e + f + g
If value > maximumValue And weight