Excel2010、VBAが止まる原因
Excel2010は、手頃な価格で高機能な表計算ソフトです。
またVBAによるプログラムを行うと、特に繰り返し作業では多大な威力を発揮します。
しかし、VBAはエクセルのバージョンにより正しく動作しない場合が有ります。
VBAで繰り返し作業を実行すると、途中で止まる現象が見られました。
使用したパソコンは、下記のソフトを使用していました。
OS : Windows7(64bit)
表計算ソフト : Excel2010(32bit)
以下、Excel2010、VBAが止まる原因と対策を記載して行きます。
(項目1)
・パソコンが古くなり、2010年に新しいパソコンを購入しました。
・エクセルVBAの動作を確認した所、VBAが途中で止まる場合が散見されました。
・For〜 Next、Do Until〜Loopと言った繰り返し箇所で発生していました。
・環境の変化は、下記の通りです。
旧パソコン 新パソコン
OS : WindowsXP → Windows7
アプリ: Excel2002 → Excel2010
(項目2)
・OSやアプリは元に戻す事はできませんので、新しい環境で対策を考える必要があります。
・「Excel2010+VBA+止まる」をキーワードにして、インターネットで調べると、
Excel2010でマクロが止まるが見つかりました。
(項目3)
・対策は、For〜 Next、Do Until〜Loopの間に
DoEventsを入れる事です。
・実際の記述例は、下記の通りです。
For i=1 to 1000
'ここから
'処理を行う
'ここまで
DoEvents
Next i
Do Until Range("A" & i)=""
'ここから
'処理を行う
'ここまで
i = i + 1
DoEvents
Loop
(項目4)
・以上で、Excel2010、VBAが止まる原因と対策は終了です。
(追記1)
・どうやらバグの様です。回避策は4つあり、下記URLを参考にして下さい。
・
Excel 2010 または Word 2010 で、連続したマクロ処理を実行するとマクロが停止する場合がある