Excel 2013 で VBA コードを実行すると、Excel の一部が白または灰色に変わる
現象
Microsoft Excel 2013で Microsoft Visual Basic for Applications (VBA) コードを実行すると、Office テーマによっては Excel の一部が白または灰色で表示されることがあります。 コードが完了するまで空白のままです。 この問題は、VBA コードが、マクロが完了する前にユーザーが結果を表示するのに十分な長さのマクロで次のアクションの 1 つ以上を実行する場合に発生する可能性があります。
- セルを繰り返し選択する
- シートを挿入する
- 作業ウィンドウを更新または開く
- ブックを追加する
原因
この問題は、新しいグラフィックス エンジンを最適化するために Microsoft Office 2013 で行われた変更が原因で発生します。
回避策
無効になっている間に変更が表示されないように、ScreenUpdating を使用して Excel の画面更新プログラムを無効にします。 これにより、マクロのパフォーマンスが向上する可能性もあります。
Application.ScreenUpdating = False Workooks.Add Application.ScreenUpdating = True
画面の変更を確認する必要がある場合は、コード内の行の後に DoEvents コマンドを挿入すると、画面が白く表示されます。 DoEvents を控えめに使用すると、マクロのパフォーマンスを維持するのに役立ちます。
Workbooks.Add DoEvents
状態
これは、Excel 2013 の既知の制限事項です。
注:
すべてのバージョンの Excel では、Windows がアプリケーションを白にし、応答しないマークを付けると、実行時間の長いマクロでも同様の効果が発生する可能性があります。 これは、マクロの実行中に Excel が Windows に応答していないために発生します。 DoEvents は、Excel が Windows に応答し、アプリケーション画面の回復を許可することで、このシナリオにも役立ちます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示