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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Excel(エクセル) Excel2016 行間を詰めたい&同じカテゴリなら上位2つだけを表示したい 5 2022/06/03 12:19
- Visual Basic(VBA) エクセルのマクロについて質問があります。 現在は下記のマクロでエクセル表を保存しています ThisW 2 2022/09/16 11:22
- Visual Basic(VBA) エクセル マクロ 指定日の指定時刻にプロシージャを実行 4 2022/04/17 16:44
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- docomo(ドコモ) 「d払いご利用可能額」とご利用明細歴」が合わないのは何故ですか? 4 2023/01/28 03:59
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル マクロ ソルバ 中止(T)を選択したい
Word(ワード)
-
エクセル 合計値に一番近い件数を出したい
Excel(エクセル)
-
エクセルで決められた合計になる組み合わせを作成
その他(ソフトウェア)
-
-
4
【Excel】マクロにソルバーを組み込んだ時の対処方法
Excel(エクセル)
-
5
エクセル:マクロ メッセージボックスを消す
Excel(エクセル)
-
6
ソルバーのマクロ組み込みについて
Excel(エクセル)
-
7
excelのソルバーをVBAで複数行繰り返したい
Excel(エクセル)
-
8
VBAでソルバーを停止せずに動かすには
Excel(エクセル)
-
9
変化させるセルが変化しない
Visual Basic(VBA)
-
10
Excelのソルバーのオプション
数学
-
11
EXCELのマクロが回してる途中から遅くなり、困っています
Excel(エクセル)
-
12
エクセル・ソルバー機能についての質問です。
Excel(エクセル)
-
13
Excel ソルバー計算速度向上のためのPCスペックに関して
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel関数-文字列で自動作成さ...
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
Excelで50個のセルに同じ文字を...
-
スプレッドシート、Excelでの数...
-
Microsoft Officeの中古は信用...
-
エクセルで不等号記号(≠)が上に...
-
スプレッドシートで使う数式を...
-
エクセルでの特別な文字を上に...
-
エクセル日付 文字列の関数がエ...
-
A列とB列を参照してC列に連番を...
-
エクセルVBA、別ブックへ転記す...
-
各ページの1番上の表示について
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
pdfの表をexcelにはりつけて計...
-
Excelのif関数で文字が見えなく...
-
【マクロ】アクティブセルにブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報