• ベストアンサー

エクセル:マクロ メッセージボックスを消す

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。Wendy02です。 >それともやはりおっしゃるような致命的なものでしょうか? きちんとソルバー自身は手動で動くのですね? それを確かめていただいていますか?時々、それがそうでなかったりします。 >キャンセルせずに当該ファイルを選択すると「"ファイル名.xls"に"DummyMacro"は見つかりません。 一応、そのマクロは、標準モジュールに入れてあると思いますが、ある設定で、このような反応があったような記憶がありますが、どこの設定でそうなったか覚えていません。 ここのカテゴリのどこかで書いたのですが、現行のソルバーは、数学的に近似値を求めるものは、公差を大きくして、最後は人間の手で行うしかありませんし、数学的に不可能なものは、いくらソルバーでも不可能なのはご存知だと思います。 今回、試しているものは、前回と同じです。 マクロの内容は変わりましたか?もし、違うようでしたら、マクロコードと、サンプルデータと求める条件を出していただけませんか? それで、もう一度、新たに考えてみます。

gucchi-you
質問者

お礼

説明が簡略化すぎましたので、思い直してもう少し詳しく書きますと、実際のデータの数は100個です(D6:M15、N21~N30)。N19: =MIN(N21:N30) データは乱数に近いものですが(データですので乱数ではありません)、概ね+0.1から-0.1の間で0を山としてほぼ正規分布する性格の数字です。

gucchi-you
質問者

補足

度々のご回答ありがとうございます。 >きちんとソルバー自身は手動で動くのですね? はい、動きます。 >現行のソルバーは、数学的に近似値を求めるものは、公差を大きくして、最後は人間の手で行うしかありませんうしかありませんし、数学的に不可能なものは、いくらソルバーでも不可能なのはご存知だと思います。 はい、存じております。膨大なバックテスティングを行っているのですが、それをある程度補完するために初期値を何回か入替えて計算し、出た結果を比較しています。それでも最適解とはならないケースがあることも承知した上でソルバーを使用しています。 >マクロの内容は変わりましたか?もし、違うようでしたら、マクロコードと、サンプルデータと求める条件を出していただけませんか? ありがとうございます。余り変わっていませんが、簡略化して示します。 D6:M8にデータ数値(計30個)が入っています。正も負もあります。 求める結果はD19:M19です。N19の最小値を最大化するものです。 ソルバー部分だけ下に抜き出しますが、実際にはD6:M8の値を変えて何回も繰り返し計算します。また精度を上げるためにソルバーも繰り返しますし、初期値も入替えて数回計算しています。 制約条件 D19:M19>-0.40 D19:M19<0.40 SUMIF(D19:M19,">0")= 1 SUMIF(D19:M19,"<0")= -1 N19 =MIN(N21:N23) N21 =SUMPRODUCT(D19:M19,D6:M6) N22 =SUMPRODUCT(D19:M19,D7:M7) N23 =SUMPRODUCT(D19:M19,D8:M8) Sub Macrooptim() Sheets("optimizer").Select SolverOk SetCell:="$N$19", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$19:$M$19" SolverOptions MaxTime:=300, Iterations:=300, StepThru:=False SolverSolve Userfinish:=True, ShowRef:="DummyMacro" End Sub Sub DummyMacro() End Sub

関連するQ&A

  • テキストボックスにマクロでメッセージ 424

    EXCELにてコントロールツールボックスで貼り付けたテキストボックスにマクロで処理経過やエラーメッセージをログ風に出力したいのですが、424 オブジェクトが必要です、というエラーになってしまいます。 テキストボックスのオブジェクト名はTextBox1です。 マクロ内容はメッセージを出力する部分をサブルーチン化し、呼び出す仕様で作成しました。 Public Sub OUTMessage(InMsg As String) Dim OutMsg As String OutMsg = Format(Now, "HH:MM:SS") + " : " + InMsg + Chr(13) + Chr(10) TextBox1.Text = TextBox1.Text + OutMsg  ・・・(1) TextBox1.Activate End Sub 上記の・・・(1)の部分でエラーとなります。 何度も確認しましたが、オブジェクト名は記述間違いないです。 どなたか同じ様な内容を試された方、アドバイスをお願いします。 数時間を費やしましたが、このエラーを回避できません。

  • Excelを開くときにメッセージボックスを出力させない

    ExcelファイルをVBから開いて全シートを 印刷するプログラムを作っています。 マクロがあるとメッセージボックスが出て 止まってしまいます。 どうやったら出ないようにできるでしょうか? 同様にWordファイルでもメッセージが出ないようにしたいです。 Wordテンプレートを自分で作った場合、 そこにマクロが埋まっていると 相手のマシンではメッセージが出てしまいます。 メッセージが出ないようにするのが無理であれば メッセージが出そうなファイルを 先に検査してエラーとする、でもかまいません。 よろしくお願いします。

  • EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる

    EXCELのVBAでマクロを使ってファイルを開こうとしている際、指定したファイルが存在しなかった場合、普通はマクロのエラーが出て「ファイルが存在しません」となりますが、指定したファイルが存在しなかった場合には、メッセージボックスを表示させ、そこで処理を中止させるか、または、その無いファイルの処理は飛ばして次のファイルの処理を行う用にさせることはできるでしょうか? Sub test1() Workbooks.Open Filename:="C:\Documents and Settings\001.xls (001が存在しない場合メッセージボックスを出しマクロを中止するか次の002を開くか選ぶ) Workbooks.Open Filename:="C:\Documents and Settings\002.xls End sub

  • 空白セルのメッセージボックスでの知らせるマクロ

    はじめまして。下記のExcelについて教えてください。 セルA1からA10の間にデータが入力されているセル、入力されていないセルが混在している場合、データが入力されていないセルをメッセージボックスで知らせるマクロの作成の仕方を教えてください。 空白セルが2つある場合はメッセージボックスは2回表示されます。 ずっと考えていても、分からなくて。。。どうか教えてください。

  • EXCEL メッセージボックスの表示について

    マクロを使ってA列に"1"というデータが入力されたら、 エンターキーを押した(入力確定した)時点でメッセージボックスが表示されるようにしたいのですが、 この表示のさせ方がわかりません。 これができると作業が大分楽になりますので、 わかる方いらっしゃいましたらよろしくお願いいたします。

  • エクセルマクロでシートを削除するときのメッセージ

    エクセルのマクロでシートを削除するときにメッセージボックスで、本当に削除するか確認されて、マクロが中断されてしまいますが、 1) マクロで「Yes」を選択する。 2) システム設定か何かでメッセージボックスを開かないようにする。 のどちらかできないでしょうか? よろしくお願いします。

  • エクセルでセルが変更されたらメッセージボックス表示するマクロ

    あるセル範囲、たとえばA1:B10の範囲に0以外の数字が入力されたらメッセージボックスで 「0以外の数字が入力されました。このまま続けますか?(はい)(いいえ)」 と表示させるマクロを作りたいのですが、どうすれば良いでしょうか。 (いいえ)が選択されたらそのセルへの入力はキャンセルさせたいのですが。 過去ログなどをみてもいまひとつやり方がわからないのでお願いします。

  • エクセルのマクロについて

    エクセルのマクロについてご教示ください。 共有サーバにあるパスワードで保護されたブックを、別のブックの シートからマクロボタンで開くと、当然にパスワードを要求されま すが、ここでメッセージボックスのキャンセルボタンを押すと、 Openメソッドは失敗しました。Workbooksオブジェクトという実行時 エラーが表示されます。  このエラー表示を回避できる方法をご教示ください。  If文で処理しようと試みましたがだめでした。  よろしくお願いいたします。 

  • エクセル メッセージボックスの出し方

    エクセルでオートシェイプでボタンを作り、ボタンをクリックするとsheet2へデーターが入力されるようにマクロで作りました。 (1)入力ボタンを押したらメッセージボックスで”記録されました”と画面に表したいのですが・・教えてください。

  • Excelマクロのコンボボックスについて

    初めてマクロを扱います。 マクロに詳しい方、コードをご教授ください。 Excelマクロを使い下記の機能をシートに盛り込みたいと考えております。 【実現したいこと】 ・シート上にコンボボックスを作成し、コンボボックスで選択した項目で絞り込めるようにする。 ・コンボボックスに格納される項目は、A列の重複を除外し、昇順で並べ替えたもの。 ・またコンボボックスに格納する項目は日々レコード追加されるため、コンボボックスの中身にも随時反映するようにしたい。 ・コンボボックスには「全て表示」というアイテムを追加し、「全て表示」を選択すると、フィルターが解除される。 わかりにくいかもしれませんが上記のことを実現したいと考えております。 どうかお知恵をお貸しください!! よろしくお願いします!!