05. april 2013 - 15:27Der er
8 kommentarer og 1 løsning
VBA til simulering af optimeringsproblem
Hej Eksperter,
Jeg skal lave en simulering af et optimeringsproblem, men den VBA jeg har lavet er ikke helt korrekt, men jeg ved ikke hvor fejlen ligger. VBA'en ser sådan ud:
Sub Macro1() Worksheets("Simulering").Activate SolverReset SolverOptions Precision:=0.001 SolverOK SetCell:="$L$12", MaxMinVal:=1, ValueOf:="0", ByChange:="$C$11:$K$11" SolverAdd CellRef:="$L$15:$L$17", Relation:=3, FormulaText:="$N$15:$N$17" SolverAdd CellRef:="$L$19:$L$21", Relation:=3, FormulaText:="$N$19:$N$21" SolverSolve UserFinish:=True SolverFinish KeepFinal:=1 End Sub
Når jeg kører VBA'en kommer den med fejlen "Compile error: Sub or Function not defined", også refererer den til "SolverReset"!
Hvis der er nogle der er klar på at kigge på problemet, kan jeg også sende selve excel-arket, så man kan se selve opstilling. Håber der er nogle der kan hjælpe..
Det var lige præcis det det ikke var, så det har jeg installeret nu.. Men så dykker der et nyt problem op.. Jeg har eksempelvis en begrænsning i mit optimeringsproblem hvor N17 >= L17, men når jeg har simuleret én gang, er det som N17 har simuleret to gange! Dette kan i nogle tilfælde betyde, at selvom N17 >= L17, så står L17 >= N17, fordi N17 har simuleret én gang ekstra! Ved ikke om det giver mening?
Jeg ønsker at køre en simulering på den optimale løsning som er i L12, men jeg har problemer med at få VBA'en til at fungere!
Sub LoopMacro3() Dim i As Integer
For i = 1 To 10 Macro1 Sheet.Cells(i + 9, 18) = Range("L12") Next i
End Sub
Jeg ønsker at køre 10 simuleringer i dette tilfælde, og værdien af den optimale løsning skal komme i cellerne (i + 9, 18), men den kommer med en runtime error 424 Object required! Hvad kan fejlen være? Håber der er nogle der kan hjælpe..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.