イベントプロシージャを実行するにあたって、説明を見ると左上でWorkbookまたはWorksheetを表示してからイベントを選ぶ……となっているはずですが、標準モジュールから開こうとすると何も表示されず、手動でプロシージャ名を変更してもイベントは発生しません。
このへんについての説明です。
イベントプロシージャ用のWorkbook/Worksheetの表示
![workbookopen1](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen1.png)
まず用語として、いつものコードのSubからEnd Subまでがプロシージャ、プロシージャがまとめて入ってるウィンドウ単位のプログラムの集合がモジュールです。
一般的な(実行してセル操作などの)VBAで使用するモジュールは標準モジュールと呼ばれますが、モジュールには他にもいくつか種類があります。
標準モジュールの場合、左上のここを開いてもGeneral以外表示されません。
一般的な(実行してセル操作などの)VBAで使用するモジュールは標準モジュールと呼ばれますが、モジュールには他にもいくつか種類があります。
標準モジュールの場合、左上のここを開いてもGeneral以外表示されません。
![workbookopen2](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen2.png)
表示→プロジェクトエクスプローラーを開き、開かれているモノを確認すると、
![workbookopen9](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen9.png)
標準モジュール配下のModule〇〇を開いているはずです。
![workbookopen3](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen3.png)
同じVBA Project内の上に行くと、Microsoft Excel Objectsという集合があるはずですが、これもモジュールの一種です。
![workbookopen4](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen4.png)
イベントプロシージャでWorkbookに対してイベントを実行したい場合、Microsoft Excel Objects配下のThisWorkbookをダブルクリックし、
![workbookopen5](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen5.png)
コード画面左上からWorkbookを選択して、
![workbookopen6](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen6.png)
好きなイベントを選択すれば、プロシージャ名が自動で入力されます。
![workbookopen7](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen7.png)
シートの場合はイベントを実行したいシートをダブルクリックします(どのシートでも実行されるイベントもあります)。
![workbookopen8](https://sunagitsune.com/wp-content/uploads/2023/10/workbookopen8.png)
左上からWorksheetを選択し、イベントを指定すればプロシージャ名が自動で入力されます。
![](https://sunagitsune.com/wp-content/uploads/2018/10/gui-2311261_1280.png)
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
コメント