Avatar billede krummel Juniormester
24. september 2019 - 09:56 Der er 3 kommentarer

Excel Solver - makro vba

Solver udfyldes via en makro. Det er ByChange feltet jeg har udfordringer med. Jeg har en String (optimal) med f6;f7;f16;f18 (som jeg kan ændre efter behov)
Hvordan kalder jeg String'en i ByChange?

SolverOk SetCell:="portafkast", MaxMinVal:=1, ValueOf:="0", ByChange:="optimal", Engine:=1, EngineDesc:="GRG Nonlinear"
eller
SolverOk SetCell:="portafkast", MaxMinVal:=1, ValueOf:="0", ByChange:=optimal, Engine:=1, EngineDesc:="GRG Nonlinear"
virker ikke

Den bør forstå den som følgende - og som virker.
SolverOk SetCell:="portafkast", MaxMinVal:=1, ValueOf:="0", ByChange:="f6;f7;f16;F18", Engine:=1, EngineDesc:="GRG Nonlinear"

Til info så er portafkast en celle som er navngivet, hvilket virker fint
Avatar billede M.O Seniormester
26. september 2019 - 16:13 #1
Et forsigtig bud er der skal bruges range istedet for string

Sub Eksempel()

Dim optimal As Range
Set optimal = Range("f6:f7,f16:F18 ")

optimal.Value = 55
End Sub
Avatar billede krummel Juniormester
12. januar 2020 - 20:50 #2
Nogen der har et bud? Mangler stadig en løsning :-)

#1 hvorfor optimal.Value = 55?
Og jeg tror mere det er hvordan jeg 'kalder' Optimal. Optimal indeholder jo det jeg skal bruge.
(jeg er slet ikke pr, så det er muligt jeg misforstår noget :-))
Avatar billede M.O Seniormester
27. januar 2020 - 08:21 #3
Sub Eksempel()

Dim portafkast As Range
Dim optimal As Range

Set portafkast = Range("a1")
Set optimal = Range("f6:f7,f16:f18") ' muligvis "f16,f18"

optimal.Value = portafkast

End Sub


Koden her ville være det samme som hvis formlen =a1 blev sat i f6,f7,f16 og f18
Så jeg har sikkert ikke forstået det helt endnu.

Håber der dukker en ekspert op der kan hjælpe dig i mål med det.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester