• ベストアンサー

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

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

  • tiga-
  • お礼率77% (170/219)

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

  • ベストアンサー
  • 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

  • エクセルマクロをバックグラウンドで実行しているように見せたい

    エクセルマクロでシートやブックを複数使い、 コピーやペースト、削除を何度もします。 その際に、他のシートやブックを何度も選択するので、 画面が絶え間なく動き、見ていることが出来ません。 こういったとき、どのようにして皆さんは対処しているのですか? ひょっとして、どこかのシートを開いたままで、 バックグラウンドで実行しているように見せることって出来るのでしょうか?

  • エクセル2000のマクロについて教えてください。

    実は、今日会社で失敗したのですが、エクセルのマクロ実行をしたら、エラー で実行中断となってしまいました。 ワークシートから別のワークシートへコピー&ペーストして印刷というマクロを組みたかったのですが、エラー内容は、 Active Cell Offset(-7,-14).Range("A1:AN15")selectです。 元のワークシートのセル位置と、コピーするワークシートのセル位置は同じ場所でないといけないのでしょうか? セルは同じ数とっているはずなのですが。何回かやってみて、 へんな場所にペーストされて、印刷までは出来たこともあるのですが、何がちがうのだろー。。解らない(;;) だれか教えてください!!!

  • EXCELのマクロでデータをクリアしたい

    仕事でエクセルのマクロを使ってリストを作る作業があるのですが、行き詰まりました。どなたか助けて下さい。お願いします。 表を作るのには二つのマクロを使っています。 【一つめのマクロ】 1.定形のウェブページからテキストをコピーする    内容は商品名や商品番号や数量です 2.エクセルの一番左上に貼り付ける 3.するとマクロが働いて貼り付けたデータはseet1に保存されて自動的に新しいシートが用意される 4.新しいシートに別のデータで1.2.を繰り返す この作業は9回まで繰り返し、一旦エクセルを閉じます。 次に再びエクセルで 【二つ目のマクロ】を立ち上げ、現れた『リスト作成』ボタンを押すと自動的に完成の表が作られます。 最初はこの方法で快調だったのですが、行き詰まりました。 ・行き詰まりその1 一つめのマクロで九つまでコピーペーストするのをくり返して、二つ目のマクロを使うと今までのデータをすべて反映して表が作られてしまいます。うまく説明できないのですが、例えば 月曜にコピーペーストして表完成。 火曜に別のデータでコピーペーストして表を完成させると、必要ない月曜のデータも含めて表が出来てしまう。 これが一つめの困りです。 ・行き詰まりその2 二つ目の困りは、ある日別の社員が一つめのマクロを使ってコピーペーストしていたところ、誤って9つ以上シートを作ってしまったらしく、作りすぎたシートを削除しました。 そうしたらフリーズしたので、再起動してやり直ししたら、そのマクロのファイルを開くたびに、上記の失敗が現れてそれ以上のデータが作ることができなくなりました。(2つめのマクロを動かすと失敗データが上書きされるのみです) 快調な時は表が完成すると、一つめのマクロでは何のデータも残りませんでした。 このような稚拙な説明しか出来ないのですが、どなたかご教授下さい

  • マクロの自動実行などについて

    エクセル2003のVBAマクロについて質問です あるワークシートに値が入力されたら、マクロを自動実行するように出来ないでしょうか? 又、そのセルの値を別のセルにコピーしたいのですが、データを入力する度にセルの場所が ひとつ下へずれます。この最終列のセルの値を必ず拾うようにするにはどうすればよいでしょうか? ややこしくてすいません

  • ペーストすると実行されるマクロを作成したい(初心者

    エクセルとは別のソフト(画像解析ソフト等)からデータを クリップボードへコピーし、それを”Sheet1”の「B2」にペーストします。 このペーストした時に「Macro01」というマクロが自動的に実行されるようにしたいのですが、 どのように記述すれば作動するでしょうか? 色んなHP等を探してみたのですが見当たりません。 考えてみたのですが私には考えつきませんでした・・・。 どなたかご教授下さい@@; また、コピーしてくるデータは毎回数値が違います。 ペーストした時に「B3」に入る値のみ変わりませんが、 内容に” ”←この記号が入っているせいか、上手く指定できないようでした。 一文の中で所々、毎回変わらない文字(単語)というのはあります。 よろしくお願いします。

  • EXCELのマクロでテキストを読み込む方法

    EXCELのマクロを使って、テキストファイルから、ある文字列を検索し、コピーしEXCELのシートのセルにペーストするマクロの書き方をご存知の方は、ご教示願います。 例えば、テキストファイル中の「dog」という文字列を検索して、EXCELの決まったセル(A、1)にコピペするというマクロです。 よろしくお願い申し上げます。

  • エクセルVBAで実行中画面を固定するには

    エクセルでマクロを作りましたが、さまざまなシートのを参照しているため、実行させると画面がめまぐるしくかわります。 マクロの実行中、スクロールやシートの変更などを固定させる命令はありますか。

  • 一定時間でマクロを実行

    TEST1.xlsの”data”シート(で入力された内容)を、30分ごとにTEST2.xlsの"data"シートにコピーすることは可能でしょうか? そのあとに、Call マクロ1 みたいな感じで、別のソースを実行したいのですが。 よろしくお願い致します。エクセルは2010です。

  • EXCEL・・検索ボタンをクリックするとマクロが実行されるようにしたい

    EXCELでSheet1にデータを入力、Sheet2に検索結果抽出フォームを作成してあります。セルにキーワードを入力しマクロの実行でデータの抽出ができるように出来上がっています。 そこで、セルに入力→ツールバーからマクロの実行という作業を検索ボタンを作成し一発で検索ができるようにしたいのです。 キーワードの入力セルはC:3です。 よろしくお願いします。

  • 別のアプリケーションとエクセルマクロについて

    エクセルとは別のアプリケーションのデータの文字をコピーして エクセルのシートのある決まった位置に張り付ける、ということを 簡単に行いたいのですが、(マクロ的にボタン一つとか) どういった方法がありますか? エクセルのVBAマクロは作っていますが、 別のアプリからデータをコピーして持ってくるというのは、できないですよね。 (csvとかに落とすこともできないデータです。) 別のアプリの文字をコピーする段階で、VBAでは無理だと思うので、 他のプログラム言語だと、そういうことができますか? C言語は少し習いましたが、何か最適な方法や、 このプログラム言語だと、簡単にできるというのがあれば、教えてください。 よろしくお願いいたします。

専門家に質問してみよう