こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ソルバーのマクロ組み込みについて

2つ質問がございます。
一つはExcel2003にてソルバーをマクロに組み込みたく、Visual Basicのツール>参照設定>参照にいきsolver.xlaのファイルを探せど見つからずに困っております。
二つ目は、過去の質問(質問者:Curtis様。参照:http://okwave.jp/qa350463.html)で
「Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業をできるだけ自動的にできないでしょうか。

例えば、関数が一つだとしても、それを当てはめるべきデータのリストが100個あれば、ソルバーを手作業で100回実行しなければなりません。特に同じワークシートのなかで全ての作業を済ませようとすると、1回ごとに「目的セル」や「変化させるセル」を指定しなければなりません。当てはめを行うワークシートを独立に用意すればソルバーの実行自体は簡単になるかもしれませんが、そこにデータリストをコピーし結果をどこかに保存する手間がかかります。さらに、エクセルのマクロではソルバーは使えないと聞いております。なんとかならないものでしょうか。」

とありますが、上記の内容をVBAでプログラムを組み、自動化することは実際可能なのでしょうか?可能であればどのように組むのでしょうか?

ご面倒とは思いますがよろしくお願い致します。

投稿日時 - 2007-12-22 03:00:42

QNo.3617928

困ってます

質問者が選んだベストアンサー

こんにちは。

1.solver.xlaのファイルを探せど見つからずに困っております。

一度、ワークシートで使えば、呼び出されますから、そこで、VB Editor にも現れます。
参照設定の上のほうに出てきます。

2.Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業

ソルバーは、整数値で代入しようとして、小数点数値に移行してしまうという致命的な問題がありますので、見つからない場合の離脱方法をどのようにするかは、ソルバーの設定自体をきちんと使わなくてはなりません。多くは、「公差」の割合だと思いますが。

それと、前回の方のように、物理的な計算を、数千億回とか、ワークシート上で行わせるには、計算内容を見たわけではないのですが、無理ではないかと思いました。私の個人的な感覚では、せいぜい数百万回程度だと思っています。

なお、私のソルバーに関する過去の回答を見ましたが、最後まで至らないことが多いようです。実際の計算や設定の問題を抜きにして、それで、出来ないとか言われても、回答者側としてはちょっと無理な話が多いようです。それに、ある程度の内容なら、最初から、VBAで作ったほうが早いと思います。

一般的なソルバーの解法の仕方。
http://oshiete1.goo.ne.jp/qa2388268.html

投稿日時 - 2007-12-22 11:28:09

お礼

こんばんわ。早速のご回答有難うございました。おかげでVB Editor で無事SOLVERを見つける事ができました。

また、2つ目の件なんですが、マクロで記録したのをいじって繰り返し、最適化問題(株や債券の最適ポートフォリオ)を解くことを考えています。何分、プログラミングに疎い自分ですので先が思いやられますが。。。

投稿日時 - 2007-12-23 02:19:36

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

こんにちは。

>プログラミングに疎い自分ですので先が思いやられますが。。。

元は、もう出来上がっていますか?
元自体は、私たち回答者側では作れません。ソルバーをお使いになる人たちの多くは、元の情報の公開は一切お断りで、何とかしてほしいという人たちが多いようです。

コピーをさせるとか自体は、掲示板で教えられますが、その元が教えられないのです。
簡単なシミュレートさせるだけでもよいので、そういうソースを出していただいて、それでこうしたいというなら出来ても、それ以上に、内容はひみつだから、ここをこう当てはめてというような、公式を教えてほしいということは不可能なのです。
だから、ソルバーは使えないというのは、全体論ではいえないのです。

もちろん、使いこなしの問題もありますからね。

投稿日時 - 2007-12-23 11:50:14

お礼

こんばんわ。いつも有難うございます。元は出来ておりません。
頑張ってやってみます。
自分でやってみて、それでも助けが必要になりましたら、またWendy02様や他の回答者様に頼ってみます。メリークリスマス。

投稿日時 - 2007-12-24 01:57:10

あなたにオススメの質問