ソルバーの基本的なパラメーターを設定します。 SolverOK 関数とほぼ同じ動作ですが、SolverOkDialog 関数の場合は [ソルバー : パラメーター設定] ダイアログ ボックスが表示されます。
手記 ソルバー アドインは既定では有効になっていません。 この関数を使う前に、ソルバー アドインを有効にしてインストールしておく必要があります。 この方法については、「ソルバー関連の VBA 関数を使用する」を参照してください。 ソルバー アドインがインストールされたら、このアドインへの参照を設定する必要があります。 Visual Basic エディターでモジュールをアクティブにした状態で、[ツール] メニューの [参照設定] をクリックし、[使用できる参照] の [ソルバー] を選択します。 [Solver] チェック ボックスが [参照可能なライブラリ ファイル] に表示されない場合は、[参照] をクリックして \Program Files\Microsoft Office\Office14\Library\SOLVER サブフォルダーにある Solver.xlam を開きます。
SolverOkDialog( SetCell, MaxMinVal, ValueOf, ByChange, Engine, EngineDesc)
SetCell: 省略可能です。バリアント型 (Variant) の値を使用します。 作業中のワークシートの単一セルへの参照を指定します。 [ソルバー : パラメーター設定] ダイアログ ボックスの [目的セル] ボックスに相当します。 MaxMinVal: 省略可能です。バリアント型 (Variant) の値を使用します。 [ソルバー : パラメーター設定] ダイアログ ボックスの [最大値]、[最小値]、[値] に相当します。
MaxMinVal | 設定 |
---|---|
1 | 最大化 |
2 | 最小化 |
3 | 値と一致 |
ValueOf: 省略可能です。バリアント型 (Variant) の値を使用します。 MaxMinVal が 3 の場合は、ターゲット セルが一致する値を指定する必要があります。 ByChange 省略可能 なバリアント型 (Variant)。 目的の結果をターゲット セルに取得できるように変更されるセルまたはセル範囲。 [ソルバー : パラメーター設定] ダイアログ ボックスの [変化させるセル] に相当します。 Engine: 省略可能です。バリアント型 (Variant) の値を使用します。 問題の解決に使用する解決方法として、Simplex LP 方法の場合は 1、GRG Nonlinear 方法の場合は 2、Evolutionary 方法の場合は 3 を指定します。 [ソルバーのパラメーター] ダイアログ ボックスの [解決方法の選択] ボックスの一覧に相当します。 ByChange 省略可能 なバリアント型 (Variant)。 問題の解決に使用する解決方法を文字列 ("Simplex LP"、"GRG Nonlinear"、または "Evolutionary") として指定する代替方法です。 [ソルバーのパラメーター] ダイアログ ボックスの [解決方法の選択] ボックスの一覧に相当します。
例
次の使用例は、シート 1 に保存されている既存のモデルを読み込み、すべての設定をリセットして、[ソルバー : パラメーター設定] ダイアログ ボックスを表示します。 以後の操作は手動で行います。
Worksheets("Sheet1").Activate
SolverLoad LoadArea:=Range("A33:A38")
SolverReset
SolverOKDialog SetCell:=Range("TotalProfit")
SolverSolve UserFinish:=False
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。