次の方法で共有


SolverOkDialog 関数

ソルバーの基本的なパラメーターを設定します。 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 のサポートおよびフィードバックを参照してください。