勤務先の会社で「プログラムってほとんど書いたことないのですが私にもVBAで作業の自動化とかできますかね?」と聞かれたので、これを読めば一通りマクロを走らせられるという手順書をまとめて行こうと思います。そもそもExcelのマクロをどこに書くのかなど、基本的なところから始めてとりあえず簡単な処理を自分で掛けるようになることを目標にする予定。
第一回はVBAとは何か~Visual Basic Editorの起動・下準備まで。
そもそもVBAって何?
VBAとは「Visual Basic for Applications」の略で、Officeなどのマイクロソフトのアプリケーションの自動処理などを利用者が記述するためのプログラミング言語です。もう少しわかりやすく言うと「ExcelやWordなどの処理を自動化するために使用できるマイクロソフトが作ったプログラミング言語」です。
仕事で使われることの多いExcel、Word、PowerPoint、Outlookの自動化処理に特化したプログラミング言語なので、ITを本職としないビジネスの現場で使われているケースが多いです。そのためSEなどのプログラマーではない職業の人が目にする機会が多いプログラミング言語のひとつであると思います。
参考:Wikipedia (Visual Basic for Applications)
マクロとは?
プログラムができる同僚と会話しているとVBAという単語と同時に「マクロ」という言葉も耳にすることが多いと思います。仕事上はVBAもマクロもほとんど同じ意味でつかわれることが多いですが、VBAが処理を記述する「言語」を示す言葉である一方で、マクロは「VBAで書かれた一連の処理のかたまり」を示す言葉になります。つまりマクロとはVBAを使って記述された自動化などの処理全体のことを指します。
VBA(マクロ)を保存できるファイル
まず、VBAを使ったExcelの処理を書き込めるファイルのタイプについて。Excel2007以降を使用している人(ほとんどだと思いますが)は、通常「.xlsx」という拡張子のファイルにデータなどを保存していると思います。が、このファイルタイプにはVBAで書いた処理を保存することができません。VBAで処理は必ずマクロ有効ブックである「.xlsm」タイプのファイルに書くようにしましょう。Excel2003以前から使われているマクロは古い拡張子である「.xls」に保存されているケースもあると思いますが、今後あえてこのファイル形式を使用する必要性は低いと思います。
VBA(マクロ)はどこから書く?
VBAを記述するためのエディタはOffice系のソフトにあらかじめ備え付けられており上部に位置するメニュー(リボン)の開発タブから起動できます。開発タブのVisual Basicという項目をクリックしてください。別画面でVisual Basic Editor (VBE)が起動するはずです。
しかし初心者の人が使うことは少ないためデフォルトでは上部メニューのリボンからアクセスすることはできません。もし開発タブが表示されていなければ下記の手順に従って表示させておくと後々便利です。
上部のリボンから「ファイル > オプション」と選択し「リボンのユーザー設定」にある「開発」タブにチェックを入れてOKボタンを押しましょう。これで開発タブがリボンに表示されるようになります。
その他(任意)
ここから先はオプションで特に行わなくてもマクロを書くこと自体は可能です。が、プログラムのバグを見つけやすくなったりするなどメリットが大きいので特に初心者は設定しておくことをお勧めします。
変数の宣言を強制する(Option Explicit)
VBAでは一部の変数の型を宣言しなくても処理を書くことができという簡便性があるのですが、勝手に解釈されて本来エラーになるべきコードが見過ごされるなどの弊害があるので、変数の宣言がないとエラーになるように宣言を強制することをお勧めします。
変数の宣言を強制するには、VBAのコード冒頭に「Option Explicit」という一文を入れるだけなのですが、毎回このコードを書くのも煩わしい(し忘れる可能性もある)ので、自動でこの一文が入るように設定しておきます。
設定方法についてはこちらの記事をご参照ください。
個人情報削除に関する警告を非表示にする
この設定を行わずにVBAを書き始めるとファイルを保存するたびに「ドキュメント検査機能では削除できない個人情報がドキュメントに含まれていることがありますので、ご注意ください。」という警告が出て煩わしく感じるようになるはずです。なのであらかじめ警告が出ないようにしておきましょう。個人情報に関する警告なので見ると不安になるかもしれませんが大した内容ではないので非表示にしても大丈夫です。設定方法と警告の内容についてはこちらの記事をご参照ください。
以上で第一回は終わりです。