Excel VBA でなぜか途中で動作が止まる

概要

Excel VBA でなぜか途中で動作が止まることが多い。コードの中で動作が止まる原因らしき部分の直後に DoEvents を挿入したところ、止まらなくなった。

詳細

困ったこと

Excel VBA のとあるモジュールでなぜか途中で動作が止まることが多い。特に、他の Excel ブックを開いているとき。また、印刷プレビューが表示される動作の直後に止まることが多い。アクティブシートがずれるなどが原因ではないことは確実で、単につっかえている感じ。

環境

Microsoft Excel 2016 (16.0.5188.1000) MSO (16.0.5188.1000) 32 ビット

やったこと

コードの中で動作が止まる原因らしき部分の直後に DoEvents を挿入したところ、止まらなくなった。
(例1)For ステートメントの中の if ステートメントの後に DoEvents を挿入

(略)
End If

DoEvents

Next i

(例2)印刷プレビューを開いた直後に DoEvents を挿入

.PrintPreview EnableChanges:=True
DoEvents

タイトルとURLをコピーしました