本文へスキップ

別館:エクセルQC館 別館:エクセル株式館

  1. トップページ>
  2. Tips>
  3. Excel2010、VBAが止まる原因

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
@UiPath、メモ
AOffice365、Excel:VBAで画面更新がチラツク時の対策
BOffice365、Excel:勝手に手動計算になる原因
COffice365、Excel:フィルターで3つ以上の条件にする方法
DOffice365、Excel:シート同士の違いを見つける方法

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 で、連続したマクロ処理を実行するとマクロが停止する場合がある



contents

エクセル将棋館

日本国

地方都市


スポンサード リンク