人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelでマクロを走らせている間、そのブックはともかく、他のブックも使用できなくなります。

どうにかならないのでしょうか?

●質問者: tetlis
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●100ポイント

繰り返しが多いループがある場合には、DoEvents を入れると、マクロ以外の処理を拾って処理してくれるようになります。

Do While ...  ' 回数が多いとか
 本来の処理

 DoEvents  '★ これを入れる
Loop

tetlisさんのコメント
この方法では、ストップがかかりまくって、「使える瞬間がある」程度で、他のブックはまともに使えませんでした。

a-kuma3さんのコメント
ループが入れ子になっていたり、ループからサブルーチンを読んだ先にループがあったりと、まだ回数が多いところに仕込めてないと思います。 DoEvents は、元の処理を軽くする働きがあるわけではなく、別の処理を動かすタイミングを挟んでいるだけなので、他のブックが使えるくらいまでイベントを処理できるようにすると、元の処理が終わるまでの時間が長くなります。 あくまでも、DoEvents は対症療法でしかなくて、根本的には原因となっている重いマクロの性能改善をしなくちゃいけません。

tetlisさんのコメント
ただ1つ入れればいいわけじゃないんですね。精進してみます。 ありがとうございます。

2 ● きゃづみぃ
●0ポイント

エクセルを ブックから開くのではなく、エクセルのショートカットから開いた場合、使用可能となる場合があります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ