AW: automatische rechnung
06.06.2008 09:54:00
ingUR
Hallo, @amina,
ob die Aufgabe überhaupt eine Lösung haben wird, ist fraglich, wenn Du z.B. die Nebenbedingung stellst, dass die Spalten E bis AI zeilenweise jeweils die Summe 204 ergeben sollen (selbst Dein Beispiel erfüllt dies Bedingung nicht.
Ob hier der Solver zu einem Lösungsansatz führt, ist durch die Nebenbediungung, dass nur maximal in einer 5er-Serie die 12 amgeschrieben werden soll, ist fraglich.
In einem einfachen VBA-Ansatz könntest Du für den Teil der Zeilen 11 bis 18 mit folgenden Programm die Zellen füllen, wobei eine Lösung wohl in jedem Fall angezeigt wird, wenn Du für die Zeilensumme einen Bereich vorsiehst:
Sub Zeilen11_18()
Dim rngC As Range, ize As Long, isp As Integer, ix As Integer
Dim serie As Integer, ok As Integer
Application.Calculation = xlCalculationManual
Set rngC = Range("E26")
Randomize
Do
Range("E26:AL36").ClearContents
Application.ScreenUpdating = False
For isp = 0 To 30
rngC.Offset(9, isp) = 0
While rngC.Offset(9, isp) 0 Then
'Untersuche ob Serie noch nict erreicht
ix = 1
serie = 0
While Len(rngC.Offset(ize, isp - ix)) > 0 And isp > ix
serie = serie + 1
ix = ix + 1
Wend
If serie 108 Then ok = ok + 1
ize = ize + 1
Loop Until ize = 8
Application.ScreenUpdating = True
Loop Until ok = 8
Set rngC = Nothing
Application.Calculation = xlCalculationAutomatic
End Sub
Die Bedingung 4 bis 5 für die Größe der Serie könntest Du ggf. auch über eine Zufallszahl bestimmen.
Für den ersten Block, der dir die Spaltensumme 24 liefert, könntest eine ähnliche Struktur zum erfolg führen, habe jedoch jetzt leider keine Zeit hier meine Gedanken als Programm zu fassen, und leider kann ich auch die Prozedur, die in einem Standardmodul abzulegen ist, nicht tiefergehend erläutern.
Sofern nicht durch andere Lösungsansätze ergänzt oder verbessert werden, kann ich zusehen, ob ich heute abend dazu noch ergänzend etwas beitragen kann.
Gruß,
Uwe