| 「VBA」は「Visual Basic for Applications」の略で Microsoftの標準的な開発言語の一つである「Visual Basic」のOffice版ということになります。 「マクロ」は慣用的な名称で、「VBA」は正式名称です。「for Applications」というのは「Microsoft Office」等の汎用アプリケーションに共通して実装するような意味であり、 Excelのみならず、Word,Access,PowerPoint,Visio,Outlook,FrontPageなどにも実装されています。 |
| 一方、「マクロ」はWindowsが32ビット化される以前、つまりExcelだとExcel5.0位までの呼び方ですが、 Office95(Excel95)まではこれを使っていましたので、未だに「マクロ」という呼び方も強く残っているのだと思います。 |
| 私の個人的見解ですが、「マクロ」はいわゆる「手続き記憶」のようなイメージがあります。 Excel以外の「表計算ソフト」ではこの「手続き記憶」機能を「マクロ」と言ったり「カタログ」と言ったりします。 昔、まだWindowsが全盛になる以前は国産の「表計算ソフト」もいくつかあり、NEC製のものを使っていましたが、 「カタログ」という呼び名で全く「手続き記憶」機能でした。 |
| 「VBA」をそういうイメージで捉えている方は、 このサイトや他の「VBA」をサポートしているサイトを 見ていただくと「そんなものではない」ことが理解できると思います。 |
| 「VBA」って何?という方は、まず「自動記録」から入って見ましょう。「自動記録」は、Excelの「手続き記憶」機能で、これから「記憶終了」のボタンを押すまでのExcel上での操作をまるごと記憶してしまうという機能です。記憶した内容は、開いているそのワークブックのモジュールとして記録されており、保存しておけばそのワークブックを開いて「ツール」メニューの「マクロ」からいつでも起動できます。 |
| 単なる「手続き記憶」機能と違うのは、「自動記録」で記録したものもVisual BasicのソースコードとしてVBEで修正や追加記述が自在にでき、さらにExcelの操作からの記録では実現できない処理を直接Visual Basicのソースコードを記述することで実現できることです。 |
「VBA」か「マクロ」かこのサイトでの呼び名を統一しようと思ったのですが、ツールバーのボタンが「マクロ」だったり、VisualBasicEditorだったりでうまく行きません。自動記憶の意識を除外して「同じもの」と思って下さい。
ここでの説明は、入門書と違い「手取り足取り」で説明するわけではありませんが、「どういう手順」で「どのようなことに着目」していけば良いかを説明していきます。なお、ヘルプに書いてあることを反芻して説明することはしませんので、出てくるオブジェクト、メソッド、プロパティについて解らない場合は都度、ヘルプで確認するようにして下さい。また、サンプルの事例、記述方法は代表的なものを挙げているだけで、全ての説明を隅から隅まで網羅するものではありません。
以下のような順序で説明していきます。「これは解っている」という所は飛ばして結構です。
※この辺まで理解できたら、1人で調べながらマクロが作れるようになります。