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


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

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/06/22 01:15:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

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

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

    DoEvents    '★ これを入れる
Loop
他1件のコメントを見る
id:a-kuma3

ループが入れ子になっていたり、ループからサブルーチンを読んだ先にループがあったりと、まだ回数が多いところに仕込めてないと思います。

DoEvents は、元の処理を軽くする働きがあるわけではなく、別の処理を動かすタイミングを挟んでいるだけなので、他のブックが使えるくらいまでイベントを処理できるようにすると、元の処理が終わるまでの時間が長くなります。

あくまでも、DoEvents は対症療法でしかなくて、根本的には原因となっている重いマクロの性能改善をしなくちゃいけません。

2015/06/18 08:58:50
id:tetlis

ただ1つ入れればいいわけじゃないんですね。精進してみます。

ありがとうございます。

2015/06/19 21:10:19
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

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

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません