概要
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 IfDoEvents
Next i
(例2)印刷プレビューを開いた直後に DoEvents を挿入
.PrintPreview EnableChanges:=True
DoEvents