本記事では、MS OfficeでVBA・マクロを利用するための初期設定手順および、VBA・マクロの基本的な使用方法を解説します。
VBA(Visual Basic for Applycation)は、Visual Basicというプログラミング言語をベースとした、MS (MicroSoft) Office(Excel, Word, PowerPoint, etc)を操作するためのプログラミング言語です。このVBAでコーディングされた一連の操作手順をまとめたものをマクロと呼びます。
VBAおよびマクロを利用することで、MS Officeの操作を自動化することができます。MS OfficeにはVBAの編集・実行環境が付属しているため、VBA・マクロの利用にはソフトウェアの追加インストールは不要です。
VBA・マクロはMS Officeの「開発」タブから操作しますが、初期設定では「開発」タブは非表示になっています。本記事では「開発」タブの表示方法、マクロの記録方法、マクロの実行方法、コードの確認方法、マクロが有効なファイル形式での保存方法を紹介します。
ここでは、VBAが利用されることが多いMS Excelについて記事を作成しておりますが、他のMS Officeでも基本的には同様の手順で操作できます。記事の作成に用いているPC(Personal Computer)のOS(Operating System)とMS Officeのバージョンは以下の通りです。異なるバージョンでは画面や設定項目が異なる可能性がありますので注意してください。
- OS: Windows10
- MS Office: 2016
開発タブの表示
開発タブを表示します。
- 「ファイル」タブを選択してください。
- 「オプション」を選択してください。
- 「Excelのオプション」の「リボンのユーザー設定」を選択してください。
- 「リボンのユーザー設定」の「メインタブ」の「開発」にチェックを入れます。
- 下部の「OK」を選択します。
- 「開発」タブが表示されるので確認してください。
マクロの記録
MS Excel, MS Wordには、操作手順をマクロとして記録してVBAコードを自動で生成する機能が用意されています(MS PowerPointではこの機能は使えません)。
最初は1からVBAコードを記述するのは大変なので、「マクロの記録」を用いて、行いたい操作に対応するコードを出力し、それを改良するのがおすすめです。
マクロの記録は以下の手順で行います。
- 「開発」タブを選択してください。
- 「マクロの記録」を選択してください。
- 「マクロの記録」ダイアログが表示されるので、「OK」を選択してください。
- マクロの記録が開始されるので、Excelで任意の操作を行ってください。
- 操作が完了したら、「開発」タブの「記録修了」を選択してください。
マクロの実行
作成したマクロを実行する手順を紹介します。
なお、マクロによる操作はUnDo(ショートカット:[Ctrl] + [z])では取り消しができないので、マクロの実行には注意を払ってください。
- 「開発」タブを選択して下さい。
- 「マクロ」を選択してください。
- 「マクロ」ダイアログが表示されるので、実行するマクロを選択してください。
- 「実行」を選択してください。
- マクロが実行されるので、結果を確認してください。
コードの表示
記録したVBAコードの確認と編集には付属のエディタを用います。
マクロは「標準モジュール」というモジュールに格納されます。
上記の手順(「マクロの記録」)で記録したマクロは、「標準モジュール」の「Module1」に格納されています。
- 「開発」タブを選択してください。
- 「Visual Basic」を選択してください。
- 「プロジェクト」の「標準モジュール」を開いてください。
- 「標準モジュール」の「Module1」を選択してください。
- コードが表示されるので、確認してください。
マクロが有効な形式でファイルを保存
マクロが付帯したMS Officeは所定の形式(拡張子)で保存する必要があります。
Excelの場合は”.xlsm”の拡張子で保存します(通常は”.xlsx”)。
マクロが有効でない形式では、ファイルに付帯するマクロは保存されないので注意してください。
マクロが有効な形式での保存は以下の手順で行います。
- 「ファイル」タブを選択してください。
- 「名前を付けて保存」を選択してください。
- 「名前を付けて保存」ダイアログが表示されるので、「ファイルの種類」から「Excel マクロ有効ブック(*.xlsm)」を選択してください。
Excel以外では対応する形式を選択してください。 - 保存するフォルダを選択し、ダイアログ下部の「保存」を選択してください。