Reševalnik VBA

Ta vadnica vam bo pokazala, kako uporabljati dodatek Solver v VBA.

Reševalnik je dodatek, ki je na voljo v Excelu in se uporablja za izvajanje analize "kaj če" z zagotavljanjem nadomestnih odgovorov na formulo v celici na podlagi vrednosti, ki jih lahko posredujete formuli iz drugih celic v delovnem zvezku.

Omogočanje dodatka Solver v Excelu

Izberite mapa na Excelovem traku in se nato spustite na Opcije.

Izberite Dodatki in kliknite na Pojdi gumb zraven dodatkov Excel.

Prepričajte se, da Dodatek Solver možnost je izbrana.

Druga možnost je, da kliknete na Excelovi dodatki na Razvijalec trak, da dobite pogovorno okno Dodatki.

Omogočanje dodatka Solver v VBA

Ko omogočite dodatek Solver v Excelu, morate v svojem projektu VBA dodati sklic nanj, da ga lahko uporabite v VBA.

Prepričajte se, da ste kliknili v projektu VBA, kjer želite uporabiti Solver. Kliknite na Meni Orodja in potem naprej Reference.

Sklicevanje na Dodatek Solver bo dodan vašemu projektu.

Zdaj lahko uporabite dodatek Solver v kodi VBA!

Uporaba funkcij reševalca v VBA

Za uporabo Solverja v VBA moramo uporabiti 3 funkcije Solver VBA. To so SolverOK, SolverAdd, in SolverSolve.

SolverOK

  • SetCell - neobvezno - to se mora nanašati na celico, ki jo je treba spremeniti - vsebovati mora formulo. To ustrezaNastavi ciljno celico škatla vParametri reševalca pogovorno okno.
  • MaxMinVal - neobvezno - To lahko nastavite na 1 (Povečaj), 2 (Zmanjšaj) ali 3. To ustreza Maks, Min, inVrednost možnosti vParametri reševalca pogovorno okno.
  • VrednostOf - neobvezno -Če je MaxMinValue nastavljeno na 3, morate vnesti ta argument.
  • ByChange - neobvezno -To pove reševalcu, katere celice lahko spremeni, da bi dosegel zahtevano vrednost. To ustrezaS spreminjanjem spremenljivih celic škatla vParametri reševalca pogovorno okno.
  • Motor - neobvezno - to označuje metodo reševanja, ki jo je treba uporabiti, da pridemo do rešitve. 1 za preprosto metodo LP, 2 za nelinearno metodo GRG ali 3 za evolucijsko metodo. To ustrezaIzberite način reševanja spustni seznam vParametri reševalca pogovorno okno
  • EngineDesc - neobvezno -to je nadomestni način izbire metode reševanja - tukaj bi vnesli nize »Simplex LP«, »GRG Nonlinear« ali »Evolutionary«. To ustreza tudiIzberite način reševanja spustni seznam vParametri reševalca pogovorno okno

SolverAdd

  • CellRef - zahtevano - to je sklic na celico ali niz celic, ki jih je treba spremeniti, da bi rešili težavo.
  • Odnos - zahtevano - to je celo število, ki mora biti med 1 in 6 in podaja dovoljeno logično razmerje.
    • 1 je manj kot (<=)
    • 2 je enako (=)
    • 3 je večje od (> =)
    • 4 mora imeti končne vrednosti, ki so cela števila.
    • 5 mora imeti vrednosti med 0 ali 1.
    • 6 mora imeti različne končne vrednosti in cela števila.
  • FormulaText - neobvezno - Desna stran omejitve.

Ustvarjanje primera reševalca

Razmislite o naslednjem delovnem listu.

V zgornjem listu moramo v prvem mesecu doseči izenačitev tako, da celico B14 nastavimo na nič s spremembo meril v celicah F1 do F6.

123 Sub TestSolverSolverOk SetCell: = "$ B $ 14", MaxMinVal: = 3, ValueOf: = 0, ByChange: = "$ F $ 2: $ F $ 6", Engine: = 1, EngineDesc: = "GRG Nonlinear"End Sub

Ko nastavite parametre SolverOK, morate dodati nekaj omejitev meril.

1234567 Sub TestSolverSolverOk SetCell: = "$ B $ 14", MaxMinVal: = 3, ValueOf: = 0, ByChange: = "$ F $ 2: $ F $ 6", Engine: = 1, EngineDesc: = "GRG Nonlinear""Dodaj merila - F3 ne sme biti manjši od 8SolverAdd CellRef: = "$ F $ 3", Odnos: = 3, FormulaText: = "8"„dodajte merila - F3 ne sme biti manjši od 5000SolverAdd CellRef: = "$ F $ 5", Odnos: = 3, FormulaText: = "5000"End Sub

Ko nastavite SolverOK in SolverAdd (če je potrebno), lahko težavo rešite.

1234567 Sub TestSolverSolverOk SetCell: = "$ B $ 14", MaxMinVal: = 3, ValueOf: = 0, ByChange: = "$ F $ 2: $ F $ 6", Engine: = 1, EngineDesc: = "GRG Nonlinear"'Dodaj merila - F3 ne more biti manjši od 8 SolverAdd CellRef: = "$ F $ 3", Relacija: = 3, FormulaText: = "8"' dodaj merila - F3 ne sme biti manjši od 5000SolverAdd CellRef: = "$ F $ 5", Odnos: = 3, FormulaText: = "5000"'najti rešitev z reševanjem problemaSolverSolveEnd Sub

Ko zaženete kodo, se na zaslonu prikaže naslednje okno. Izberite želeno možnost (tj. Ohranite rešitev Solver ali Obnovi prvotne vrednosti) in kliknite V redu.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave