ここから本文です

”マクロ実行中********”と表示したい。 実行に1~2分掛かるマクロがあります。 ...

アバター

ID非公開さん

2012/3/1911:54:57

”マクロ実行中********”と表示したい。
実行に1~2分掛かるマクロがあります。
その間、画面はレコード処理のため変動しています。
しかし、オペレータによっては異常動作と勘違いする事がままあります。

その為にオペレータにマクロ実行中であることを知らせたいと思います。
実行中のマクロ文の中で記入する方法をお教え下さい。
Window7,Excel2007です。
よろしくお願いします。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
5,258
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

xls********さん

2012/3/1912:09:22

>その間、画面はレコード処理のため変動しています。
画面の更新を停止する方法があります。
処理速度も向上します。
≪参考≫
画面の再描画を一時停止する
http://www.officepro.jp/excelvba/application_other/index4.html

>その為にオペレータにマクロ実行中であることを知らせたいと思います。
下記のような方法でどうでしょうか。
≪参考≫
ステータスバーを使う
http://officetanaka.net/excel/vba/tips/tips13.htm
プログレスバー
http://www.ne.jp/asahi/fuji/lake/excel/progress_01.html

アバター

質問した人からのコメント

2012/3/19 13:09:14

有り難うございました。お教えいただいたとおり再描画を止めましたらほんの数秒で処理が終わりました。実行中表示をするまでもなく解決しました。今後ともよろしくお願いします。

ベストアンサー以外の回答

1〜1件/1件中

kei********さん

2012/3/1912:59:20

samu951227さん

画面中央に大きく表示させたいなら、、

1.ワークシートに「マクロ実行中です…」のようなテキストボックスを作っておいて、
その画面を表示させておいて、
Application.ScreenUpdating = False
で、画面移動を止めた状態で本来の「処理」をさせる。
処理が終わったら、表示させたいシート配列を選択して、
Application.ScreenUpdating = True
で画面を通常に戻す。
2.「実行中」を表記したユーザーフォームを画面中央に表示させておいて、
処理が終わったらUnloadする。

http://officetanaka.net/excel/vba/tips/tips23.htm

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる