• ベストアンサー

Excelでマクロ実行中に画面を固定する方法

Excelでマクロ(VBA)を実行しているとお考えください。 内容は他のシートのデータを別のシートにコピー&ペーストするとお考えください。 すると、画面がめまぐるしく動きます。 これをとめる方法をご存知の方教えていただければうれしいです。 (以前、やったことがあるんですが、忘れてしまいました) (また、検索で調べようとしたのですが、どのようなキーワードで検索すればいいのかわかりませんでした(私のキーワードでは見つかりませんでした)) よろしくお願いいたします。

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

  • ベストアンサー
  • SEA-Na
  • ベストアンサー率100% (1/1)
回答No.4

はじめまして. 以下のコマンドでできると思いますよ。 マクロの最初に Application.ScreenUpdating = False '画面更新抑止 を入れて、 マクロの最後に Application.ScreenUpdating = True '画面を更新 を入れる。 こんなのでどうでしょう!? では。

tiga-
質問者

お礼

ありがとうございます。 ExcelのVBAを久しぶりにやったのでいろいろ忘れていること多いです。 できたはずなのにと思っても、どう調べていいのかわからないのが実情です。 この質問もどんな検索キーワードで調べればいいのでしょうね。 とにかく、ありがとうございます。

その他の回答 (3)

  • hakone8ri
  • ベストアンサー率18% (4/22)
回答No.3

Application.ScreenUpdating = False この1行を最初に実行してください。

tiga-
質問者

お礼

ありがとうございます。 Screnn何とかだと思っていたんですが。 助かりました。

  • ta-nuki
  • ベストアンサー率44% (15/34)
回答No.2

コピーorペーストをする処理で、selectでセルを指定して、activeなセルからコピーorペーストするとselectしたセルに画面が行きますが、selectせずに Cells((t + 2), 2) = Cells((t + 2),3) とやると、画面が動きません。

tiga-
質問者

お礼

ありがとうございます。 私の場合、Excelの他のファイル上のシートを切り替えながらコピーしていきます。 Cellsにシート名を付け加えればいいのかもしれませんが、確かに画面を動かさないいい方法だと思います。(あまり詳しくなくてすみません) ただ、できれば、VBAで画面の更新を止める方法を知りたいのですが。

  • sgh
  • ベストアンサー率61% (75/121)
回答No.1

Ctrl+Pause(Break)です。

tiga-
質問者

補足

ありがとうございます。 しかし、Ctrl+Pauseはマクロ(VBA)の実行そのものを停止する方法ではないかと思います。(間違っていたらすみません) 私が知りたかったのは、VBAのプロシジャーの先頭付近でScreenPlay=False(ステートメント?関数?は正しいかわかりませんが)のような1文を書き込んで画面を更新しないようにして、マクロ(VBA)の実行後、画面を更新する方法です。 おわかりいただけるでしょうか?

関連するQ&A