VBAとは?
Visual Basic for Applicatnos
VBAとは、Visual Basic for Applicatnosの略で、MicrosoftのOfficeシリーズに搭載されているプログラミング言語を言います。
Microsoftが1990年代に開発した、Visual Basicという開発言語があるのですが、それをOfficeのアプリケーションに搭載したのが「VBA」です。
これに対して「マクロ」とは、VBAの機能を使って、「主に手動で行った操作を記録し再現する」という機能を指します。
VBAで作成されたExcelの自動化ツールを一般に「マクロ」といいますが、厳密に言うとマクロは手動操作を記録して再現するものなので、少し異なります。
xlsmファイル
VBAの機能を使えば、「手動操作の再現」を超えて様々な機能を利用することができます。
例えばInputBoxといって、操作者に文字列を入力させてその内容を記録することも可能です。
あるいは、メールを大量に自動作成することなども可能です。
ただ、このようなVBAの指示は、「マクロ有効ブック」と呼ばれる、「.xlsm」という拡張しのファイルにのみ保存できるようになっています。
通常のExcelファイル(xlsxファイル)には保存ができません。
なので、VBAが記載された自動化ツールは、「マクロ有効ブック」の頭の部分をとって「マクロ」と一般的に呼ばれているわけです。
古典的な言語
VBAは非常に強力で、OSに対しても一部権限が割り当てられているので、PCのシャットダウンなども実施することができます。
ただ、その内容は非常に古典的で、Pythonなどと比べると記述する内容が非常に多いとされています。
わかりやすいといえばわかりやすいのですが、コーディングに時間がかかるため、一般的な開発言語としてはあまり馴染みがないとされています。
今後、Excel VBAを使った様々な便利機能についても取り上げようと思いますが、そのような事情から、Excelは、古くからマクロ機能を解放し、最近でも、「自動化タブ」という新たな機能をリリースしています。
マクロを使ってみる
開発タブを表示
とはいえ、VBAを理解するために、マクロ機能を使うというのは、第一歩として非常に有用です。
できる範囲は限られていますが、実際に使い始めると非常に面白いです。
そんなマクロ機能は、通常は隠されており、オプションで設定をしないと使うことができません。
といっても設定は簡単で、Excelのファイル>オプション>リボンのユーザー設定から、「開発」タブにチェックを入れるだけです。
マクロの記録
あとは開発タブから、「マクロの記録」を押して手動操作を行い、保存するだけです。
マクロの記録を押した後、例えばA1セルに「Hello world!」と入れ、「記録の終了」ボタンを押下します。
その後A1セルを再度空白にした後、「マクロ」機能から「Macro1」を呼び出してあげると、見事、A1セルに再び「Hello world!」が入力されます。
このように、手動で行った操作を自動で再現するというのがマクロの機能です。
これだけで効率化できるケースは限定的ではありますが、まずはこの機能で何ができるか、どういった効率化ができるかを考えるのが第一歩です。
コメント