Řešitel a VBA

Analytické nástroje Excelu je možno také volat pomocí kódu VBA. Pro ukázku jsem použil nástroj Řešitel. Samozřejmě se musí přes Doplňky nainstalovat, ale pak už pracuje sám, když změníme obsah buňky s konstantami vzorce nebo požadovaný výsledek vzorce. Řešitel si poradí i s velmi složitými funkcemi. Řešil jsem výpočet sálání v požární rovnici, kde byla spousta odmocnin i funkce ArcTg a výsledek byl velmi dobrý (přesný a rychlý).

Jak to tedy pracuje. Mějme matematickou funkce y=f(x) a náš řešitel vypočítá hodnotu proměnné x, když očekáváme výsledek y. Konkrétně jsem v ukázce použil jednoduchou funkci y=ax2+bx+c a počítám proměnnou x, když znám y,a,b,c.

Použit jsem 2 způsoby výpočtu. 1. Záznamníkem maker jsem vytvořil makro Resitel v němž výpočet (volání skrytého řešitele) provádí funkce Solver – bohužel nelze nastavit reference ve verzi Excel 2003 a nižší, ale výpočet je přesnější. 2. Metodou GoalSeek s kterou nejsou žádné problémy, ale je méně přesná. Po stažení ukázkového souboru instalujte přes Doplňky Řešitele a v VBA editoru nastavte v menu Tools/References Solver.xlam – Excel 2007 a vyšší). Pro vyzkoušení měňte obsah žlutých buněk a sledujte hodnotu proměnné x.

Stažení souboru

Zpět na hlavní stránku