- ベストアンサー
マクロの自動記録
Excelのマクロ自動記録に関する質問です。 ソルバーを繰返し含む処理をマクロの自動記録で実行したいのですが、Excelのシート上で1つづつ手で実行すると問題なく処理出来ている手順を自動記録して実行すると“コンパイルエラー:SubまたはFunctionが定義されていません”とエラーが出ます。 下記の“SolverOk”の部分に問題があると表示されます。 Range("D19").Select ActiveCell.FormulaR1C1 = "180" Range("D19").Select Selection.Copy Range("J19").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Range("D24").Select Application.CutCopyMode = False Selection.Copy Range("J22").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False SolverOk SetCell:="$M$18", MaxMinVal:=3, ValueOf:="0", ByChange:="$D$19" SolverSolve --- --- どうすれば解決できるか教えて下さい。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「SolverOk 関数」をヘルプで調べてください。 詳しく書いていますよ。 あと、Solver.xls でなくて Solver.xla ですよ。 ヘルプの内容: この関数を使う前に、ソルバー アドインへの参照を設定しておいてください。Visual Basic モジュールをアクティブにした状態で、[ツール] メニューの [参照設定] をクリックし、[参照可能なライブラリ ファイル] の [Solver.xla] チェック ボックスをオンにします。このチェック ボックスが [参照可能なライブラリ ファイル] に表示されない場合は、[参照] をクリックしてから、Office をセットアップしたフォルダの \Office\Library にある Solver.xla を開きます。 Officeをデフォルトでインストールしたとは、下記を指定します。(Offce2000) C:\Program Files\Microsoft Office\Office\Library\Solver.xla
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
http://www.komiyama.t.u-tokyo.ac.jp/~koyama/html/VBA/VBA_solver.html#SolverOk に解説があります。SolverOk以外の解説もあり参考になります。
- ja7awu
- ベストアンサー率62% (292/464)
No.2ですが・・・ あっ、Solverフォルダの中です。 Officeをデフォルトでインストールしたとは、下記に(Offce2000) C:\Program Files\Microsoft Office\Office\Library\Solver\Solver.xla です。
お礼
参照可能なライブラリファイルに Solver.xla をセットすると Solver.xls と表示されました。 お陰様でうまく行きました。 有難う御座いました。
- GuruGuru22
- ベストアンサー率51% (177/346)
VBEの[ツール]→[参照設定]で solver.xls にチェックを入れてください。
補足
早速の回答ありがとうございます。 >VBEの[ツール]→[参照設定]で >solver.xls にチェックを入れてください。 [参照設定]の中に solver.xls を見つけることが出来ません。 Microsoft Excel 9.0 Object Libraryにはチェックがついていますが、これとは違いますよね? もう少し詳しく説明をお願いします。
お礼
参考URL有難う御座います。 Excelはとても奥が深く何か新しいことをやろうとするとなかなか思うように進めません。 教えてもらいながらボチボチやります。