• ベストアンサー

VBAでソルバーが実行出来ない

VBAでソルバーを実行しようとしましたが、実行出来る時と実行出来ない時があります。実行出来ない時がほとんどです。 SOLVERの参照設定はしております。 原因が分からず困っております。宜しくお願い致します。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

> SolverOk SetCell:="$B$2", MaxMinVal:=2, ByChange:="cells(a+7,6)" んー。これは動かないでしょう? SolverOk SetCell:="$B$2", MaxMinVal:=2, ByChange:=Cells(a+7,6).Aaddress なら分かりますが。書き込みミスですか? セルの RowIndex に変数がある点から見て、どうもループ処理がありそう ですね。できれば省略しないで、コード全体を見せてもらえますか?

indiana111
質問者

補足

SolverOk SetCell:="$B$2", MaxMinVal:=2, ByChange:=Cells(a+7,6).Address に修正致しました。無事に動くようになりました。初めてVBAを使用した初心者で申し訳ありません。 貴重なお時間とお力大変有難うございました。お礼申し上げます。

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。 > 実行出来る時と実行出来ない時があります。実行出来ない時がほとんどです。 全て同じ端末での話しですか? 違うなら SOLVER.XLA がインストールされて ないとか?

indiana111
質問者

補足

同じ端末です。 参照設定以外に何かsolverに関する設定をしなければならないのでしょうか?循環参照の設定など関わってくるのでしょうか? 下記のコードで実行しているのですが、何か問題はありますでしょうか? Dim a As Integer a = 20 SolverOk SetCell:="$B$2", MaxMinVal:=2, ByChange:="cells(a+7,6)" SolverSolve 宜しくお願い致します。有難うございます。

関連するQ&A

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

    2つ質問がございます。 一つはExcel2003にてソルバーをマクロに組み込みたく、Visual Basicのツール>参照設定>参照にいきsolver.xlaのファイルを探せど見つからずに困っております。 二つ目は、過去の質問(質問者:Curtis様。参照:http://okwave.jp/qa350463.html)で 「Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業をできるだけ自動的にできないでしょうか。 例えば、関数が一つだとしても、それを当てはめるべきデータのリストが100個あれば、ソルバーを手作業で100回実行しなければなりません。特に同じワークシートのなかで全ての作業を済ませようとすると、1回ごとに「目的セル」や「変化させるセル」を指定しなければなりません。当てはめを行うワークシートを独立に用意すればソルバーの実行自体は簡単になるかもしれませんが、そこにデータリストをコピーし結果をどこかに保存する手間がかかります。さらに、エクセルのマクロではソルバーは使えないと聞いております。なんとかならないものでしょうか。」 とありますが、上記の内容をVBAでプログラムを組み、自動化することは実際可能なのでしょうか?可能であればどのように組むのでしょうか? ご面倒とは思いますがよろしくお願い致します。

  • EXCEL2010のソルバー

    マニュアルに従って、ソルバーのアドインをしましたが、「実行」ボタンはどこにも見つからず、困っていたので、一体「実行」ボタンはどこにあるのか教えて欲しい旨質問させて頂きましたが、頂いた回答はマニュアルの内容そのままで、何も解決しておりません。 マニュアルを読んでいくと、『ファイル→オプションと辿り、EXCELのオプション画面を開き、左側で「アドイン」をクリックし、「管理」のプルダウンメニューで「EXCELアドイン」を選択して「検索」をクリックせよ』とあります。しかし、まず「検索」ボタンは見当たりません。見当たるのは「設定」ボタンです。取りあえず「設定」ボタンをクリックするとアドイン画面が現れるので、「ソルバーアドイン」にチェックマークを入れてOKをクリックしたところ、「データ」タブの「分析」グループに「ソルバー」ボタンがあることは確認出来ました。 そして「ソルバー」ボタンをクリックすると「ソルバーのパラメーター」が現れましたが、どこにも「実行」ボタンは見当たりません。一体どこにあるのでしょうか? 大変申し訳有りませんが、繰り返させて頂きますと、私の質問は、マニュアル通りにアドインしたけれども「実行」ボタンが見当たらないのでどうしたらいいか解決策を教えて頂き度いというものです。どうか宜しく御願い申し上げます。古いバージョンのEXCELでは「実行」ボタンは有りましたが、何故EXCEL2010では見当たらないのでしょうか?これではソルバーを使えません。マニュアル通りにアドインして「実行」ボタンが見当たらないのは何故でしょうか?

  • Excelのsolver実行の手間を省きたい

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

  • ソルバーのマクロで値の部分にセルを参照するにはどうすればいいでしょうか?

    今EXCEL2003のVBAマクロでソルバーを使いたいと思ってるんですが、 ValueOf:="12" のところに12ではなくセルを参照したいのですが、そうゆうことはできるのでしょうか?

  • excelのソルバーについて質問です

    [ソルバー:パラメータ設定]ダイアログボックスの[変化させるセル]にセル範囲を設定しましたが、ソルバーを実行した結果のそのセル範囲の数値が正答例と極僅かですが異なってしまうんです [ソルバー:パラメータ設定]ダイアログボックスの設定は全て正答例と同じになってるのですが・・・ ソルバーの場合はこんなふうに誤差が起きるもんなんでしょうか? ちなみにこれはサーティファイのExcel表計算処理技能認定試験1級の勉強中に起こった疑問です

  • VBAでソルバーを停止せずに動かすには

    こんにちは。 VBAで、ソルバーを含んだコードを書いていますが、実行の時にソルバーで計算している度にメッセージボックスが表示されて、OKを押す必要があります。メッセージが表示されない、またはOKが自動的に押されるようにするにはどうすればいいでしょうか。コードは、次のようになっています。 Range("E164").Value = "0.1" Range("E165").Value = "0" SolverOk SetCell:="$E$25", MaxMinVal:=3, ValueOf:="2130",  ByChange:="$C$38" SolverSolve Range("AE7").Value = Range("J3").Value Range("E164").Value = "0.1" Range("E165").Value = "0.1" SolverOk SetCell:="$E$25", MaxMinVal:=3, ValueOf:="2130", ByChange:="$C$38" SolverSolve Range("AE8").Value = Range("J3").Value Range("E164").Value = "0.1" Range("E165").Value = "0.2" Then SolverOk SetCell:="$E$25", MaxMinVal:=3, ValueOf:="2130", ByChange:="$C$38" SolverSolve Range("AE9").Value = Range("J3").Value Range("E164").Value = "0.1" Range("E165").Value = "0.3" SolverOk SetCell:="$E$25", MaxMinVal:=3, ValueOf:="2130", ByChange:="$C$38" SolverSolve Range("AE10").Value = Range("J3").Value ・・・ などの繰り返しになっています。 どうぞよろしくお願いいたします。

  • エクセルソルバー

    教えて下さい。 現在、未知数4つをソルバーを用いて求めています。 このソルバーを使用して未知数を求める方法を他人に教えてもらって使用しています。このソルバーの中でいったい何が行われているのか全くわかりません。何が行われているのか、教えて下さい。 また、パラメータの設定のところで、いろいろと設定する項目があります、このあたりはいったい何をどのように設定すれば良いのでしょうか?「線形モデル」のところにチェックを入れると、「線形モデルでない」とメッセージが出ます。また準ニュートン法とかいろいろあるのですが全くわかりません。教えて下さい。

  • エクセルのソルバーについて

    教えて下さい。 現在、未知数4つをソルバーを用いて求めています。 このソルバーを使用して未知数を求める方法を他人に教えてもらって使用しています。このソルバーの中でいったい何が行われているのか全くわかりません。何が行われているのか、教えて下さい。 また、パラメータの設定のところで、いろいろと設定する項目があります、このあたりはいったい何をどのように設定すれば良いのでしょうか?「線形モデル」のところにチェックを入れると、「線形モデルでない」とメッセージが出ます。また準ニュートン法とかいろいろあるのですが全くわかりません。教えて下さい。

  • Access2000で最適化をVBAで実行できますか?

    Access2000のメニューから操作する「最適化」をVBAで実行できませんか? データ(レコード)を削除したときなど、終了時に自動実行させたいのですが。 (オプションで設定すると、常に実行されるので) よろしくお願いいたします。

  • マクロでソルバーを使えますか?

    VBAは未経験です。エクセルでソルバーをマクロで記録し、実行しようとしたらエラーメッセージが出てしまいました(コンパイルエラーsubまたは functionが定義されていません)。 マクロにソルバーを組み込むこと自体ができないのでしょうか? 宜しくお願いします。 Range("E4:M4").Select Selection.Copy Range("E11").Select ActiveSheet.Paste Range("E4:M4").Select Selection.Copy Range("E12").Select ActiveSheet.Paste SolverOk SetCell:="$E$7", MaxMinVal:=3, ValueOf:="20", ByChange:="$D$5:$K$5" SolverSolve Range("E4").Select End Sub

専門家に質問してみよう