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


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

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2015/06/15 01:14:20
  • 終了:2015/06/22 01:15:04

回答(2件)

id:a-kuma3 No.1

a-kuma3回答回数4562ベストアンサー獲得回数19072015/06/15 01:28:35

ポイント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ベストアンサー獲得回数11982015/06/15 08:26:03

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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません