
No.1ベストアンサー
- 回答日時:
こんばんは。
ご質問は、Solver が、設定された反復回数が終わっても、目的の値に達しない場合、ダイアログを出さない方法はないか、と意味だと思います。
ご質問の状況は良く分かりませんが、以下のサンプルを作ってみました。
以下は、整数の場合は、絶対に、目的の解が出ません。したがって、途中で、中断することになります。
オプション(SolverOptions)の 反復回数(Iteration)は、以下では感知されません。Maxtime が優先されるようです。SolverSolve の ShowRef:="DummyMacro"を入れて、行います。また、SolverOptions の 引数 StepThru が False にします。このオプションは、省略してもよいです。ShowRef のマクロは、なぜか動いてはいません。しかし、実際にないマクロを指定すると、エラーを返します。
実務的には、
Application.ScreenUpdating = False
'実行プログラムコード
Application.ScreenUpdating = True
で、画面の切り替わりの部分のマクロを挟んだほうが、ちらつきがなく、マクロは速く終了すると思います。
'ワークシート上
A B C
2 =A1*B1
2 =A2*B2
2 =A3*B3
2 =A4*B4
2 =A5*B5
=SUM(C1:C5)
'標準モジュール
Sub TestSolver()
Range("B1:B5").ClearContents
Range("E1:E6").ClearContents
SolverReset
SolverOk SetCell:="$C$6", MaxMinVal:=3, ValueOf:="89", ByChange:="$B$1:$B$5"
SolverOptions MaxTime:=3, Iterations:=10, StepThru:=False
SolverAdd "$B$1:$B$5", 4, FormulaText:="整数"
SolverAdd "$B$1:$B$5", 3, FormulaText:="0"
SolverSolve UserFinish:=True, ShowRef:="DummyMacro" '←ここに入れる
SolverFinish 1
Call CopySolveredRange '次のマクロ
End Sub
Sub DummyMacro()
'実際は意味がない
End Sub
Sub CopySolveredRange()
Range("E1:E6").Value = Range("C1:C6").Value
End Sub
(なお、こちらは、Excel 2003 のアドインのSolverですが、エラーのダイアログは、Excel Ver.4マクロです。次期 Ver.4マクロを追い出しにしたら、このアドインも当然、再開発することになるのかと思います。Excel2003では、調子が悪いという報告もあります。)
http://support.microsoft.com/kb/819033/ja
Excel 2003 でソルバー アドインが機能しないか、解を得られない
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに写真が貼れない(フ...
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
【マクロ】【相談】Excelブック...
-
vba テキストボックスとリフト...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
【マクロ】【配列】3つのシー...
-
エクセルのライセンスが分かり...
-
【マクロ】元データと同じお客...
-
【関数】3つのセルの中で最新...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】【画像あり】❶ブック...
-
【Officer360?Officer365?の...
-
セルにぴったし写真を挿入
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
【関数】=EXACT(a1,b1) a1とb1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報