マクロを勉強する過程で、ほとんどの方が行うことがあります。
自分以外の誰かが作成したコードを解析するという行為です。
その解析をするソースコードは、Excelの[マクロの記録]機能によって自動的に作成されたものだったり、インターネットからダウンロードした誰かが作成したものだったり、あるいは会社で誰かが以前に作成したコードだったりいろいろなケースがあります。
そんなコードの解析をはじめた方から、
「サブルーチンのSubプロシージャを簡単に見つける方法はないのでしょうか?」
というご質問をいただくことがあります。
業務アプリケーションと呼べるレベルまで作りこみが行われている場合、一般的にプロシージャは複数存在していてます。メインルーチンからサブルーチンを呼ぶようになっていたり、SubプロシージャからFunctionプロシージャを利用するようになっていたり。
そういった場合に解析をするには、まずメインルーチンを読んでいき、途中でサブルーチンが呼ばれていればサブルーチン側のSubプロシージャを表示させて中身を確認し、それが終わったら元のメインルーチン側に戻って続きを読む、という行為を何度も行う必要が出てきます。
そんなときに先のご質問をいただくことがあります。
勿論VBE(Visual Basic Editor)にはそういった便利な機能が、ちゃんと用意されています。
[Shift]キー+[F2]キーを押す ▼元表示していた箇所に戻る
[Ctrl]キー+[Shift]キー+[F2]キーを押す
例えばメインルーチンの中に、
「Call sub_XXX」
といったステートメントがあれば、「sub_XXX」という文字の中にカーソルを置いて、[Shift]+[F2]キーを押します。すると「sub_XXX」プロシージャが表示されます。
で、「sub_XXX」プロシージャのソースコードを読んで、どんな処理が行われているか理解できたら、[Ctrl]+[Shift]+[F2]キーを押すのです。すると元のメインルーチンの「Call sub_XXX」という箇所が再度表示されます。
この操作をご存じないと、目視確認しながらプロシージャを探したり、[検索]機能を使って探したりすることになりますが、効率はかなり悪くなります。[Shift]+[F2]キー/[Ctrl]+[Shift]+[F2]キーを利用する方が、はるかに楽なはずですので、ソースコードの解析をする場合、是非ご利用ください。
なおメニューから操作する場合は、メニュー[表示]−[定義]/メニュー[表示]−[元の位置へ移動]です。
- Newer:2005年の人気書籍
- Older:エントリー数:1000
Home » VBE(Visual Basic Editor) » プロシージャを簡単に見つける−Shift+F2/Ctrl+Shift+F2