|
| Problemløser afspillet som macro. Fejlmedd~ Fra : Morten Holberg Niels~ |
Dato : 30-11-03 15:52 |
|
Hi.
Nu har jeg knoklet med det her i et par timer, så nu er det tid til at
spørge oraklet om råd.
Opgavens overordnede tema er optimering. Jeg har en efterspørgsels- og
udbudsfunktion hvor jeg skal finde ligevægtsprisen. Dette gøres ved at finde
punktet hvor efterspørgselskurven er lig udbudskurven. Altså punktet hvor de
skærer hinanden i et K-system.
Q er den variable i både efterspørgsels- og udbudsfunktionen. Det er således
Q som problemløseren skal finde.
Problemløseren virker fint, og returnerer det Q som den skal. Problemet
opstår imidlertid når jeg forsøger at indspille sceancen som en macro.
Efter at have indspillet macroen, forsøger jeg at køre den med min
genvejstast. Der sker følgende:
"Compile error:
Sub or function not defined"
Min macro ser sådan ud i VBA:
Sub Makro12()
'
' Makro12 Makro
' Makro indspillet 30-11-2003 af Morten Holberg Nielsen
'
' Genvejstast:Ctrl+a
'
SolverOk SetCell:="$E$29", MaxMinVal:=2, ValueOf:="1", ByChange:="$F$6"
SolverSolve
End Sub
I E29 står der:
=B10=C10 (efterspørgsels og udbudsfunktionerne er indskrevet her. De skulle
jo være lig hinanden)
I F6 står der ikke noget. Det er den værdi problemløseren skal finde.
Hvad er fejlen? En funktion der ikke er defineret? Jeg har navngivet de
celler som jeg mener er nødvendige.
--
Mvh
Morten Holberg Nielsen
In an interstelaaarrr buuuurrssst im baaack to saaaveeee the uuuunivereerse!
| |
Angels (21-12-2003)
| Kommentar Fra : Angels |
Dato : 21-12-03 11:46 |
|
Hej Morten
Jeg gætter på at fejlmeddelelsen kommer pga. du ikke har nogen reference til
solver "i VBA".
Hvis du går ind designer vinduet i VBA (tryk alt+F11) kan du i menuen Tools
under "references" se hvilket referencer, der findes i dette projekt. Hvis
du ønsker at benytte solver fra VBA skal du have en reference til solver
herinde. Du kan se hvilket referencer, der er "markeret" herinde.
Jeg måtte dengang, jeg havde problemer med solver selv browse hen til den
pågældende fil, der herefter blev vist
Filen hedder "solver.xls" og ligger formodenlig i nedenstående bibliotek
(hvis du har den engelske version af windows og office):
C:\Program Files\Microsoft Office\Office10\Library\Solver
Kan du ikke finde filen på ovenstående så søg efter den på pc'en.
Håber ovenstående var til hjælp.
Mvh.
Kim T. Christensen
"Morten Holberg Nielsen" <holberg19@ DELETETHIS ofir.dk> wrote in message
news:3fca03fd$0$150$edfadb0f@dtext02.news.tele.dk...
> Hi.
>
> Nu har jeg knoklet med det her i et par timer, så nu er det tid til at
> spørge oraklet om råd.
>
> Opgavens overordnede tema er optimering. Jeg har en efterspørgsels- og
> udbudsfunktion hvor jeg skal finde ligevægtsprisen. Dette gøres ved at
finde
> punktet hvor efterspørgselskurven er lig udbudskurven. Altså punktet hvor
de
> skærer hinanden i et K-system.
>
> Q er den variable i både efterspørgsels- og udbudsfunktionen. Det er
således
> Q som problemløseren skal finde.
>
> Problemløseren virker fint, og returnerer det Q som den skal. Problemet
> opstår imidlertid når jeg forsøger at indspille sceancen som en macro.
>
> Efter at have indspillet macroen, forsøger jeg at køre den med min
> genvejstast. Der sker følgende:
>
> "Compile error:
>
> Sub or function not defined"
>
> Min macro ser sådan ud i VBA:
>
> Sub Makro12()
> '
> ' Makro12 Makro
> ' Makro indspillet 30-11-2003 af Morten Holberg Nielsen
> '
> ' Genvejstast:Ctrl+a
> '
> SolverOk SetCell:="$E$29", MaxMinVal:=2, ValueOf:="1",
ByChange:="$F$6"
> SolverSolve
> End Sub
>
>
> I E29 står der:
> =B10=C10 (efterspørgsels og udbudsfunktionerne er indskrevet her. De
skulle
> jo være lig hinanden)
>
> I F6 står der ikke noget. Det er den værdi problemløseren skal finde.
>
> Hvad er fejlen? En funktion der ikke er defineret? Jeg har navngivet de
> celler som jeg mener er nødvendige.
>
> --
> Mvh
> Morten Holberg Nielsen
>
> In an interstelaaarrr buuuurrssst im baaack to saaaveeee the
uuuunivereerse!
>
>
| |
Morten Holberg Niels~ (21-12-2003)
| Kommentar Fra : Morten Holberg Niels~ |
Dato : 21-12-03 21:14 |
|
"Angels" <angels@post11.tele.dk> skrev i en meddelelse
news:3fe579f5$0$27390$edfadb0f@dread16.news.tele.dk...
> Hej Morten
>
> Jeg gætter på at fejlmeddelelsen kommer pga. du ikke har nogen reference
til
> solver "i VBA".
>
> Hvis du går ind designer vinduet i VBA (tryk alt+F11) kan du i menuen
Tools
> under "references" se hvilket referencer, der findes i dette projekt. Hvis
> du ønsker at benytte solver fra VBA skal du have en reference til solver
> herinde. Du kan se hvilket referencer, der er "markeret" herinde.
>
> Jeg måtte dengang, jeg havde problemer med solver selv browse hen til den
> pågældende fil, der herefter blev vist
>
> Filen hedder "solver.xls" og ligger formodenlig i nedenstående bibliotek
> (hvis du har den engelske version af windows og office):
>
> C:\Program Files\Microsoft Office\Office10\Library\Solver
>
> Kan du ikke finde filen på ovenstående så søg efter den på pc'en.
>
> Håber ovenstående var til hjælp.
>
> Mvh.
>
> Kim T. Christensen
Tak for svaret. Det er dog ret lang tid siden jeg skulle bruge en løsning på
problemet. Løsningen var dog præcis som du skriver. Solver.xls var ikke
afkrydset under references.
God Jul.
--
Mvh
Morten Holberg Nielsen
In an interstelaaarrr buuuurrssst im baaack to saaaveeee the uuuunivereerse!
| |
pre (21-12-2003)
| Kommentar Fra : pre |
Dato : 21-12-03 15:47 |
|
Et uvidentligt gæt er at den pågældende add-in ikke er installeret, men det
kan afsløres med denne snip:
Set a = AddIns("Solver Add-In")
If a.Installed = True Then
MsgBox "The Solver add-in is installed"
Else
MsgBox "The Solver add-in is not installed"
End If
--
mvh
pre
"Morten Holberg Nielsen" <holberg19@ DELETETHIS ofir.dk> wrote in message
news:3fca03fd$0$150$edfadb0f@dtext02.news.tele.dk...
> Hi.
>
> Nu har jeg knoklet med det her i et par timer, så nu er det tid til at
> spørge oraklet om råd.
>
> Opgavens overordnede tema er optimering. Jeg har en efterspørgsels- og
> udbudsfunktion hvor jeg skal finde ligevægtsprisen. Dette gøres ved at
finde
> punktet hvor efterspørgselskurven er lig udbudskurven. Altså punktet hvor
de
> skærer hinanden i et K-system.
>
> Q er den variable i både efterspørgsels- og udbudsfunktionen. Det er
således
> Q som problemløseren skal finde.
>
> Problemløseren virker fint, og returnerer det Q som den skal. Problemet
> opstår imidlertid når jeg forsøger at indspille sceancen som en macro.
>
> Efter at have indspillet macroen, forsøger jeg at køre den med min
> genvejstast. Der sker følgende:
>
> "Compile error:
>
> Sub or function not defined"
>
> Min macro ser sådan ud i VBA:
>
> Sub Makro12()
> '
> ' Makro12 Makro
> ' Makro indspillet 30-11-2003 af Morten Holberg Nielsen
> '
> ' Genvejstast:Ctrl+a
> '
> SolverOk SetCell:="$E$29", MaxMinVal:=2, ValueOf:="1",
ByChange:="$F$6"
> SolverSolve
> End Sub
>
>
> I E29 står der:
> =B10=C10 (efterspørgsels og udbudsfunktionerne er indskrevet her. De
skulle
> jo være lig hinanden)
>
> I F6 står der ikke noget. Det er den værdi problemløseren skal finde.
>
> Hvad er fejlen? En funktion der ikke er defineret? Jeg har navngivet de
> celler som jeg mener er nødvendige.
>
> --
> Mvh
> Morten Holberg Nielsen
>
> In an interstelaaarrr buuuurrssst im baaack to saaaveeee the
uuuunivereerse!
>
>
| |
Morten Holberg Niels~ (21-12-2003)
| Kommentar Fra : Morten Holberg Niels~ |
Dato : 21-12-03 21:12 |
|
"pre" <skrivtilgruppen@bredalsparken.dk> skrev i en meddelelse
news:3fe5bbb5$0$95038$edfadb0f@dread11.news.tele.dk...
> Et uvidentligt gæt er at den pågældende add-in ikke er installeret, men
det
> kan afsløres med denne snip:
>
> Set a = AddIns("Solver Add-In")
> If a.Installed = True Then
> MsgBox "The Solver add-in is installed"
> Else
> MsgBox "The Solver add-in is not installed"
> End If
Hej! Tak for hjælpen. Jeg fik klaret problemet dengang. Det var simpelthen
som "Angels" skriver. Solver var ikke krydset af inde i VBA under
references.
--
Mvh
Morten Holberg Nielsen
In an interstelaaarrr buuuurrssst im baaack to saaaveeee the uuuunivereerse!
| |
|
|