【エクセル】マクロとVBAの違いについて
2023.05.04 /

本記事ではMicrosoftのエクセルにおける、マクロとVBAの違いについて詳しく解説していきます。
仕事でエクセルを利用していると、エクセルのマクロを使用して業務の効率化を図ることが多いです。このMicrosoftのオフィス製品(エクセルやワードなど)で使用できる「マクロ」と「VBA」を「マクロ=VBA」と考えている人が結構多いです。
実際にはマクロとVBAは大きく異なる用語です。特にVBAについては理解を深めることで、エクセルの自動化において様々なことを実現できるようになります。
本記事を通して、マクロとVBAの違いについて理解を深めてください。
マクロ
マクロとは
マクロとはコンピューターやアプリケーションの操作を自動化する機能です。日々行う作業をマクロにして自動化することで、大幅に作業時間を短縮できます。
マクロを初めて利用する人はまず「マクロの記録」という機能から勉強します。「マクロの記録」を利用することで作業を記録し、一度記録した作業はボタン一つで再現することができます。初めて「マクロの記録」でマクロを作成したときは、あまりに簡単にマクロを作成できて驚いたものです。
例えば複数のエクセルからデータの集計や、種類へのデータの自動転記、データの並び替えなど様々な操作をマクロにできます。
このマクロは後述する「VBA」で実は作られています。「マクロの記録」ではVBAを知らない人でもプログラミングなしでマクロを作成できる便利な機能というわけです。
開発タブの表示
「マクロの記録」といったマクロの機能はエクセルの「開発タブ」にまとめられています。しかし「開発タブ」はデフォルトでは非表示となっているため、以下の操作で開発タブを表示しましょう。
- エクセルを開き、画面左上の「ファイル」をクリック
- 左ペインから「オプション」を選択
- 表示したExcelのオプション画面の左ペインから「リボンのユーザー設定」をクリック<右ペインからメインタブ内にある「開発」にチェック<「OK」を選択



上記の操作により、タブに「開発」が追加されます。

マクロの記録の実行方法
「マクロの記録」は表示された「開発」タブをクリックすると表示されます。

「マクロの記録」を使ってマクロを作成したい場合、まず「マクロの記録」ボタンをクリックし、表示される画面にマクロ名や保存先を指定します。

その後記録したい操作をエクセル上で行い、操作が終了したら「記録終了」ボタンをクリックします。

これにより一連の操作がマクロとして保存されます。保存したマクロを実行したい場合は開発タブにある「マクロ」ボタンをクリックします。

現在登録されているマクロが表示されますので、実行したいマクロを選択して「実行」ボタンを押せばマクロが動き出します。

マクロが含むエクセルは通常の拡張子「xlsx」では保存できません。マクロ付きエクセルは「Excelマクロ有効ブック(*.xlsm)」として保存しましょう。

マクロ付きエクセルは拡張子「xls」でも保存できますがお勧めしません。詳しくは以下記事をご参照ください。

【エクセル】拡張子xlsをxlsxに変更すべき理由:違いとマクロ実行の危険性
また作成したマクロ付きエクセルを他の人に配布したり、他の人が作成したマクロを利用する際に「マクロの実行がブロックされました」と表示されマクロが実行できないことがあります。この問題の対処法に関しては以下記事を参考にしてください。

【エクセル】「マクロの実行がブロックされました」:マクロが実行できない問題の解決
VBA
VBAとは
VBAはVisual Basic for Applicationの略称で、ExcelやWord、AccessといったMicrosoftが開発したオフィス製品用のプログラミング言語で、「VB(Vissual Basic)」のアプリケーション版と考えてください。
「マクロの記録」でマクロを作成することができましたが、VBAを使うことでもマクロを組むことができます。
マクロを作成する手段の一つとしてVBAがあります。VBAでマクロを組むと「マクロの記録」とは大きく異なり、様々な操作を自動化することができます。
今まで手動で数時間もかかっていた作業を数分で終わらせられるようになった、なんてことはマクロの世界ではよくあります。これほどマクロを使うか使わないかで作業効率は変わってくるのです。
マクロとVBAの違いとは
マクロとは操作を自動化する機能そのものを表します。そしてVBAはオフィス製品のマクロを作成するためのプログラミング言語です。
つまりエクセルの操作を自動化しているマクロ機能はVBAというプログラミング言語で作成されているということです。
マクロは操作を自動化する機能、VBAはマクロを作成するプログラミング言語と覚えておきましょう。
まとめ
本記事「【エクセル】マクロとVBAの違いについて」はいかがでしたか。
エクセルを業務で使っていれば、マクロとVBAは使用頻度が多い単語です。マクロとVBAについて違いを明確にして、正しく使えるようにしてください。