VBAをマスターしよう~①VBAとマクロの違い、マクロの記録~

Excel VBA』多くの方がこの言葉を聞いたことがあるのではないでしょうか。
今日日、IT業界にいなくてもExcelはほとんどの企業で使用されていると言っても過言ではないでしょう。
じゃあ、実際に使えますと言う人になってくるとどうでしょうか?
案外、知ってはいるけど使えないとか、自分には難しいと思って敬遠している人もいるかもしれません。

ただ、先に言っておくと、VBAはそんなに難しいものではありません!
さらにVBAを覚えておくと、IT系の仕事じゃなくても様々な分野で活用することができる万能ツールです。

そこで今回からVBAを全く知らない人でも基礎を理解し、実際にマクロを組めるようになるまでの記事を書いていきたいと思います。既に扱っている人であれば、復習がてら見ていただけると幸いです。

では、前置きが長くなってしまいましたが、本題に入っていきましょう。
第一回目ではそもそもVBAとはなんなのか、マクロとの違い、VBAマクロでできること、最も簡単にマクロを作る方法を紹介していきます。

VBAとは?

そもそもVBAとは「Visual Basic for Applications」の略でMicrosoftが提供しているプログラミング言語の一つになります。

Excelでよく使われることからVBA=Ecxelのプログラミング言語と思われがちですが、VBAはMS Office に搭載されている技術なので、WordOutlookAccess、などでも使用することができます。なので、例えばExcel上でボタン一つ押すことでOutlookのメールを送信する、なんてことも可能です。

マクロとの違い

よくVBA=マクロと思っている人がいらっしゃいますが、残念ながらそれは少しだけ違います。

VBA :マクロを作成するためのプログラミング言語
マクロ:処理を自動化するための機能

要するに、マクロを作成するために必要なプログラミング言語がVBAと思ってもらえれば大丈夫です。

VBA・マクロでできること

では、VBAを覚えてマクロを作成できるようになるとどのようなことができるのか。
以下に記載したものはマクロで処理できる一例になります。

  • データの計算、並べ替え、書式の変更
  • ファイルの作成・削除
  • csvなどからのデータの抽出

上記以外にもマクロを作成できるようになると様々なことが自動でできるようになります。
基本的にExcelでできることは全てマクロにすることができると思ってもらって問題ありません。
また、自動にすることでこれまで数時間かかっていた作業がボタン一つで完了させることができるようになるので、業務効率化に大きく貢献することができます。

VBAを使わずにマクロを作成する方法

じゃあ、いきなりVBAを使ってマクロを作成してくださいと言われてもなかなかできないと思います。
そこで、まずはVBAを使わずにマクロを作成する方法をお伝えします。
それが、Excelの機能「マクロの記録」になります。

ただ、まず最初に下図上部に『開発』タブがあるか確認してみましょう。
もし表示されていなかった場合は、『ファイル』⇒『オプション』を選択してください。
次に表示された『Excelのオプション』画面内から『リボンのユーザー設定』を選択し、下図のように『開発』のチェックボックスにチェックを入れれば事前準備は完了になります。

VBA-option

ではここから実際に『マクロの記録』を使うとどういうことができるのか見ていきましょう。
今回は見てわかりやすいようにB4セルからE9セルにかけて記載のある表に罫線を追加する動きを『マクロの記録』で保存していきたいと思います。

まず、前項表示させた『開発』タブを選択し、その中にある『マクロの記録』を選択します。

VBA-Macro-recording

すると、画面上に『マクロの記録』の選択画面が出てきますので、『マクロ名』を付けてOKを押しましょう。
場合によっては複数のマクロを一つのエクセルに保存することもあるので、短くわかりやすい名前を付けると修正時などで特定しやすくなるのでお勧めです。

VBA-Macro-recording-2

下図を赤枠で囲った部分を見てもらうとわかる通り、『マクロの記録』が合った場所が『記録終了』に変わっていると思います。今回は罫線を付ける動きを保存したいので、罫線を付けて『記録終了』を選択します。

VBA-Macro-recording-3

これで『マクロの記録』は終了になります。では、実際に記録したマクロがちゃんと動くのか見てみましょう。
下図右上にある『マクロ』と書かれたボタンを選択すると、画面にどのマクロを使用するのか、表示されます。
今回作成した『罫線追加』を選択し、右上にある『実行』ボタンを押します。

VBA-Macro-execution

すると、下図のようにきちんと罫線がひかれましたね。
じゃあ、この『マクロの記録』の中身はどうなっているのか最後に見ていきましょう。
操作は先ほどと同じく、『マクロ』を選択し表示された画面から指定のマクロを選んで、今度は『実行』ではなく『編集』を選んでみます。

VBA-macro-Editing

すると、よくわからない文字がバーッと表示されましたね。
英語の羅列がずらりと並んでいますが、これが、今回『マクロの記録』で保存した罫線の操作の動きをVBAで指示した場合の内容になります。

VBA-VBE

もしかしたら、これを見てたった、あれだけのことをするのに、こんなにコードを書かなくちゃいけないの?
と思う人もいるかもしれませんが、安心してください。実際はもっと短く書くことが可能です。
マクロの記録』では画面上で操作した通りの動きをそのままVBAとして保存していくため、往々にして無駄なコードが書かれていることが多いです。
※これが『マクロの記録』の弱点でもあります。

今回は説明は以上になります。
次回は実際にVBAを使ってコード書く前に、VBEやモジュールとプロシージャなどの説明をしていきたいと思いますので、興味があれば是非読んでいただけるとありがたいです。

ありがとうございました。

作者情報

小説と音楽をこよなく愛する本の虫。一週間本を読んでいないと死にそうになる。最近行った大きな本屋で買った日本神話に出てくる「ヒルコ」についての本にハマって日本神話の関連書を読み漁っている。