Workbook.Activate メソッドを呼び出すマクロを実行すると、Excel ブックはアクティブ化されません。

注意

Office 365 用リソース は、 エンタープライズ向け Microsoft 365 アプリに名前変更されています。 この変更の詳細については、 このブログの投稿を参照してください。

現象

Microsoft Excel 2013 ブックで Workbook.Activate メソッドを呼び出すマクロを実行すると 、ScreenUpdating プロパティが False に設定されている場合、ブックはアクティブ化されません。

回避策

この問題を回避するには、Activate メソッドを呼び出す前に ScreenUpdating プロパティを True に設定します。 次のコード例のように、Activate メソッドの実行後に、必要に応じて False に設定できます。

Application.ScreenUpdating = True
Workbooks(1).Activate
Application.ScreenUpdating = False

注意

このコードでは、画面フラッシュが導入され、マクロの実行中に Excel に表示されるコンテンツが変更される場合があります。

詳細情報

Excel 2013 では、単一のドキュメント インターフェイス (SDI) 機能が導入されました。 Excel 2013 ブックは、Windows のトップ レベルのウィンドウになります。 この構成では、Windows は以前のバージョンのプログラムと同様に、子ウィンドウを Excel で管理するのではなく、ウィンドウのアクティブ化を処理します。

「現象」セクションで説明されているシナリオでは、Excel は Windows がブックをアクティブ化するように要求しますが、ブックのウィンドウは Windows ライセンス認証要件を満たしません。