• ベストアンサー

エクセル マクロ起動中のメッセージを表示したい

いつもお世話になります。 エクセルで、マクロを起動して、動作が終了するのに時間がかかるため、起動中に、「マクロ起動中です」のメッセージが表示されるようにしたいのです。 自分なりに考えて、"A"というメッセージのみのユーザーフォームを作って、マクロの最初と最後に A.show ~中略~ A.Hide としたのですが、表示されたユーザーフォームの×印を押さないとマクロが動きません。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.5

#3です。 補足回答が遅くなってごめんなさい。 #4さん、補足回答ありがとうございました。 大きいサイズのファイルのコピー・ダウンロードをする時によく見かける ”■■■■■■□□□□”(現在進捗60%) ってやつです。 ツールボックスにプログレスバーがない場合は、[ツール]-[その他のコントロール]で"Microsoft ProgressBarControl"ってやつにチェックをつけると使えるようになります。バージョンが違うものが何種類かありますので、最新バージョンでいいと思います。 #3を書いておいてなんですが、#2さんのようにするほうがいいと思います。 作るとしたらこんな感じかな?(フォームAにprgBar[Max:100,Min:0で設定]という名前でプログレスバーを作成した場合です。) A.prgBar.Value = 0 A.Show vbModeless  ~処理~ A.prgBar.Value = 数値 '0~100の間  ~処理~ A.Hide Unload A

7-samurai
質問者

お礼

お礼が遅くなりましてすみません。 ご回答ありがとうございました。 いただいたご回答を試してからお礼を書こうと思っていたのですが、忙しくてまだ試せていないのです。 とりあえずとしては問題解決しているのですが、近いうちに必ず利用させていただきます。

その他の回答 (4)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#3補足>プログレスバー表示 プログレスバーは、プログラムでの進行状況を表す表示です。

7-samurai
質問者

お礼

ありがとうございます。 理解できました。

  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.3

それか、そのフォーム(A.frm)でマクロを実行するようにするのも手かも。 時間がかかるマクロであれば、そのうちプログレスバー表示させたいと言ったさりげない要求も出てくると思いますよ。

7-samurai
質問者

補足

ご回答ありがとうございます。 ですが、浅学なものでして、「プログレスバー表示」という言葉の意味がわからないのです。 ネットで検索してみたのですが、今一意味が分かりません。 お手数をおかけして恐縮に存じますが、どのような機能か、どのように使うかを、教えていただけませんでしょうか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

A.show vbModeless にします。指定しない場合は、モーダルになっているので、他の操作が行えません。 また、こうすると、フォームの更新がおこなわれなくなるので、 #1さんのようにDoEventsを入れるとよろしいかと思います。

7-samurai
質問者

お礼

ありがとうございます。お礼が遅くなりまして申し訳ございませんでした。 ご回答をいただいて直ぐに試してみた所、簡単に上手くいきました。 まだDoEventsを試せていないので、こちらも使えるように頑張ります。

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

サンプルです。 DoEvents を入れるのでは? Private Sub UserForm_Activate() For i = 1 To 10 ^ 3  DoEvents '←これを入れる  If i Mod 100 = 0 Then  Me.TextBox1.Value = Format$(Now, "hh:mm:ss")  End If Next i MsgBox "終了" Unload UserForm1 End Sub

7-samurai
質問者

お礼

お礼が遅くなりましてすみません。 ご回答ありがとうございました。 いただいたご回答を試してからお礼を書こうと思っていたのですが、忙しくてまだ試せていないのです。 とりあえずとしては問題解決しているのですが、近いうちに必ず利用させていただきます。

関連するQ&A

  • エクセルのVBAマクロでのメッセージ表示

    エクセルのVBAマクロでのメッセージ表示 エクセルでマクロを作り動かしているのですが、動作時間が長く(約90秒)その間、砂時計のままです。そこで動作中に”只今処理中”のような内容のメッセージを表示させる方法を教えて下さい。できればマクロの中に記述する方法があればベストですが。 動作環境は、WINDOWS XP、EXECL2002です。

  • エクセルの再表示の仕方

    エクセルを非表示にしてフォームだけを表示するようにしてエクセルを終了させてしまいました。 まだそのマクロは完成しておらず、テスト的に試してみただけです。 そのファイルを起動するとフォームしか表示されないため、コードを表示させることができません。 どうしたらエクセル(VBAの画面)を表示できるようになりますか?

  • EXCELのマクロの重複起動の禁止

    6時間くらい動作するEXCEL2000のマクロ作ったのですが、間違えて重複起動をしてしまうことがあります。 次のような対応策を考えてみたのですが、マクロの作り方がわかりません。 (1)マクロの起動時に、マクロ内で現在動作しているマクロと重複チェックを行い、現在動作しているマクロを終了し、新たにマクロを開始する方法 (2)マクロの起動時に、マクロ内で現在動作しているマクロと重複チェックを行い、エラーメッセージを出力する方法 (3)現在稼動しているマクロを表示確認できる方法 他の方法でも結構ですので、マクロをご教示ください。 よろしくお願いします。

  • マクロを組んだエクセルの動作が遅い

    OS: Windows 2000 マクロを組んだエクセルの動作が非常に、異常に遅いのです。 マクロを組んでいないエクセルはすぐに起動でき、すぐに印刷、終了ができるのですが、 マクロを組んでいるエクセルは起動するのに1~2分、印刷も終了も同じく遅いのです。 また、マクロを組んでいるエクセルを開く際に、タスクマネージャでCPU使用率を見て みると、必ず100%になっているんです(マクロを組んでないものは100%までいかない)。 日に日に動作が遅くなっているように感じ、とても困っています。 ご教授ください。m(__)m

  • マクロ実行中のメッセージ表示

    お世話になります。 Excel2000マクロ実行中に、「処理中です」等のメッセージを表示したいのです。メッセージのUserFormを作成しましたが、マクロ実行中は、Caption(Formのタイトル部分)以外は、Formが白く表示されるだけです。ステップインで確認する時は正常に表示されます。 コードは、標準モジュールに UserForm1.Show (0) としました。 よろしくお願いいたします。 ※UserFormを使用する以外にも、メッセージを表示する方法があれば、それでも結構です。

  • エクセルのマクロ起動時画面を消したい

    エクセルでマクロの記録を使用し マクロを作ったが、動作時 画面が記録通りに表示されている 見ていて せわしない  そこで、マクロに追加コマンドなどで マクロ起動時画面表示を消し(又は、コメント表示)させ 処理終了後 再度 画面表示 させると言う事をしたいと思うのですが、 御存知の方 御教えください

  • Excelのコントロールツールボックスのマクロを起動させなくするには?

    アンケート用紙をExcelで作成し、チェック欄にツールボックスの「チェックボックス」を使っています。 そのファイルを立ち上げると、必ず「・・・マクロを含んでいます。 マクロを無効にする、マクロを有効にする、詳細 」のメッセージが表示され、いずれかを選択するとExcelを立ち上がります。 しかし、アンケート用紙のように簡単なチェック欄に使うので、マクロを使うつもりはなく、起動の度に上記のメッセージが煩わしいので、表示させなくするにはどうしたらいいのでしょうか。 セキュリティレベルは「中」に設定されており、これを低くしたくはなりません。 また、同じよう表示でフォームの「チェックボックス」は見た目がイマイチなので、できれば使いたくありません。 設定を変えて、 メッセージを表示させなくする方法がありましたら、ご教示をお願い致します。

  • エクセル マクロ 行 非表示

    マクロについてご教授お願い出来ないでしょうか。 マクロ初心者です。 エクセル アクティブセル(ex A120セルやA20セル)の行から1行目までを非表示にさせるマクロがわかりません。 アクティブセルから下の行を非表示にさせるマクロは下記URLにて紹介がありましたが・・ https://www.relief.jp/docs/excel-vba-hide-below-active-cell.html また、もし可能でしたら、アクティブセルからA2行目までの非表示、つまり 1行目は残すマクロが可能でしたら、合わせてご教授どうぞよろしくお願い致します。 

  • Excelでマクロをしてたら・・・・・

    Excelでマクロをひつこくしてたら、新しくExcelを立ち上げたときに、「-PERSONAL」となって、マクロ作業の最後の状態が表示されるようになりました。再起動しても戻りません。どなたか宜しくお願いします。

  • エクセルのVBAでマクロ実行中メッセージを表示させたいのです

    たとえばファイルを保存させている間、または、ちょっと時間がかかる(十秒程度ですが)作業を自動実行させている間、「少々お待ちください」のようなメッセージを表示し、終了すれば自動的にメッセージも終了するような表示方法はありますでしょうか?マクロの作業の進み具合(割合など)が表示されるともっといいのですが。 よろしくお願いします。 使用しているエクセルは97、OSはWindows95です。

専門家に質問してみよう