• ベストアンサー

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

Wendy02の回答

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

こんばんは。Wendy02です。 こちらでは再現できませんが、確かに、そのようなメッセージが出た覚えがあります。しばらくやっていれば、見つけられるとは思いますか゛まだ、分かりません。 気になる点があります。 マクロと手動で違う点というのは、Reset が入らないことです。 Sheets("optimizer").Select の後に、 SolverReset が入っていないことですね。必ずしも、SolverReset が必要だとは思いませんが、しかし、一番大きな違いとすれば、そこになってしまいます。ですから、以下のようなコードにしなくてはなりません。 若干違う部分は、以下です。選択がありません。 D19:M19>-0.40 D19:M19<0.40 もうひとつは、MaxTime:=300, Iterations:=300 というのは、論理的にはおかしいです。 昔、一度、同じ機能の Iteration(回数) とマクロのスピードを計測したことがありますが、300秒=5分ですから、Iteration が300ということはありませんので、以下のように、3万にしてみました。マクロですと、100万とかありますが、ソルバーでは、少し多いような気がします。 Sub TestMacro2()   Sheets("optimizer").Select    SolverReset   SolverOk SetCell:="$N$19", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$19:$M$19"   ' MaxMinVal:=3 かもしれない   SolverOptions MaxTime:=300, Iterations:=30000, StepThru:=False      SolverAdd CellRef:="$D$19:$M$19", Relation:=3, FormulaText:="-0.4"   SolverAdd CellRef:="$D$19:$M$19", Relation:=1, FormulaText:="0.4"   SolverAdd CellRef:="SUMIF($D$19:$M$19,"""">0"""")", Relation:=2, FormulaText:="1"   SolverAdd CellRef:="SUMIF($D$19:$M$19,""""<0"""")", Relation:=2, FormulaText:="-1"   SolverAdd CellRef:="$N$19", Relation:=2, FormulaText:="MIN($N$21:$N$23)"   SolverAdd CellRef:="$N$21", Relation:=2, FormulaText:="SUMPRODUCT($D$19:$M$19,$D$6:$M$6)"   SolverAdd CellRef:="$N$22", Relation:=2, FormulaText:="SUMPRODUCT($D$19:$M$19,$D$7:$M$7)"   SolverAdd CellRef:="$N$23", Relation:=2, FormulaText:="SUMPRODUCT($D$19:$M$19,$D$8:$M$8)"      SolverSolve Userfinish:=True, ShowRef:="DummyMacro"   SolverFinish 1 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列の重複を除外し、昇順で並べ替えたもの。 ・またコンボボックスに格納する項目は日々レコード追加されるため、コンボボックスの中身にも随時反映するようにしたい。 ・コンボボックスには「全て表示」というアイテムを追加し、「全て表示」を選択すると、フィルターが解除される。 わかりにくいかもしれませんが上記のことを実現したいと考えております。 どうかお知恵をお貸しください!! よろしくお願いします!!