VBAとはエクセルで使用できるプログラミング言語のことです。
プログラミング言語と聞けば、特別なスキルがなければ扱えないと考える方も多いでしょう。
しかし、簡単な処理なら初心者でもVBAを使ってプログラムを実行させることができます。
本記事では、エクセルのVBAの基礎知識やVBAでできることについて確認していきましょう。
エクセルのVBAとは

VBAとはVisual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ)の略称で、エクセルやワードなどのMicrosoft Office製品で使用できるプログラミング言語です。
ユーザーがVBAを使うことで、Microsoft Office製品内で複雑な処理の自動化や自由なカスタマイズができるようになります。
ほかのプログラミング言語と違い、エクセルやワードといった汎用性の高いツールで使用できる点もメリットの一つです。そのため、VBAを習得することで、昇給や転職といったスキルアップにつながりやすいでしょう。
エクセルのVBAとマクロの違いは?
エクセルのVBAとセットで出てくる用語として「マクロ」がありますが、マクロはVBAとは別物です。マクロは操作を記録して実行するための機能であり、そのマクロを使うために必要なのがVBAと呼ばれるプログラミング言語です。
エクセルの場合、マクロ記録という機能を使えば、行った作業を記録して好きなタイミングでマクロを実行できますが、VBAでコードを記述してマクロを作成すれば、より詳細な指定が可能です。
VBAとマクロは混同されがちですが、細かく分けると、プログラミング言語と操作の記録と実行を行う機能という明確な違いがあります。
また、マクロについてより詳しく知りたい方は、以下の記事が参考になります。
ぜひこちらもあわせてご覧ください。
エクセルのVBAではどういうことができる?

エクセルのVBAを使えば、主に以下のようなことができるようになります。
- データ集計の自動化
- メールの送受信の自動化
- データの一括印刷
これらについて詳しく確認していきましょう。
エクセルVBAでできること①データ集計の自動化
VBAを使えば、データの集計作業の自動化が可能です。事前にプログラムを組んでおくことで、ボタンのクリック一つで望みの作業を自動で行ってくれます。
データ集計を自動化できれば、膨大なデータを手作業でまとめる必要がないため、大きな時短につながります。
また、データの空欄や半角・全角のチェックなど、時間のかかる作業も自動化ができるので、ミスが発生するリスクも抑えられるでしょう。
エクセルVBAでできること②メールの送受信の自動化
VBAを使えば、エクセルとMicrosoftのメールソフトであるOutlookの連携が可能です。
Outlookと連携することで、メールの送受信を自動化できます。
特に、メールの送信相手が多い場合は、自動化によってメール業務のコストを軽減できるでしょう。また、送信先や内容のミスも起こらないため、業務の確実性も向上させられます。
エクセルVBAでできること③データの一括印刷
VBAで印刷の設定を事前にプログラミングしておくことで、エクセルにまとめてある大量のデータを一括で印刷することも可能です。
印刷の自動化によって、印刷の度に手作業で設定しなければいけなかった手間を大幅に削減できます。
また、VBA以外にもエクセルで使える便利な機能があり、その一つがショートカットキーです。
以下の記事では、エクセルを使ううえで覚えておきたいショートカットキーについて紹介しています。ぜひこちらもあわせてご覧ください。
エクセルのVBAではできないこと・難しい処理

VBAを使えばどのような処理も行えるようになるわけではありません。
特に、以下のような処理はVBAでは難しいとされています。
- 大量のデータの処理
- アプリの開発
- Microsoft Office製品以外との連携
なぜこれらの処理が難しいのか、その理由について確認していきましょう。
①大量のデータの処理
VBAはほかのプログラミング言語と比較して、そこまで処理能力が高くないため、大量のデータの処理には向いていません。
VBAの場合、データの量が多すぎると処理が完了するまで時間がかかります。
また、膨大な処理量によってパソコンがフリーズや強制終了して、作業が完了できないこともあります。
また、パソコンが処理に耐え切れないとデータが破損してしまうケースもあるため、VBAで大量のデータを扱う場合は注意が必要です。
②アプリの開発
VBAはエクセルやワードなどのMicrosoft Office製品の機能を拡張する言語なので、アプリ開発には向いていません。アプリ開発には、それぞれ適したプログラミング言語が用意されています。
そのため、本格的にアプリ開発を行いたいのであれば、ほかの言語を勉強するところから始めてみましょう。
③Microsoft Office製品以外との連携
VBAはMicrosoft Office製品と連携ができる言語であり、Office製品以外のソフトとの連携はできません。そのため、ほかのソフトとの連携ができるプログラムを組みたいのであれば、違う言語を習得するようにしましょう。
エクセルでのVBAの使い方4ステップ
エクセルで実際にVBAを使う方法について確認していきましょう。
今回紹介するのは、VBAに直接コードを書き込む方はではなく「マクロの記録」というコードの記述方法を知らなくてもVBAを使える方法です。
マクロの記録を使えば、エクセル初心者の方でも簡単なVBAを利用できます。
手順に沿って詳しく確認していきましょう。
1.エクセルの開発タブを表示させる
マクロの記録を使用するためには、まずエクセルの「開発タブ」を表示させなければいけません。
開発タブは、エクセルのデフォルトでは非表示になっています。
エクセルで開発タブを表示させる方法は以下のとおりです。
- ファイルタブをクリック
- 左のメニュー内の「その他」から「オプション」を選択
- メニューの「リボンのユーザー設定」を選択
- 右側の項目から「開発」を探してチェックバックにチェックを入れてOKをクリック

シートに戻って開発タブが追加されていればOKです。
また、リボンが表示されているエリアで右クリックすることでメニューに出てくる「リボンのユーザー設定」を選択することでも、オプションのダイアログを表示できます。
2.エクセルでマクロの記録を開始する

- 追加された開発タブを選択
- コードの中にある「マクロの記録」をクリック
- 専用のダイアログが開くので、任意のマクロ名を入力してOKをクリック
今回は、デフォルトのMacro1という名前で確定しました。
3.自動化したい操作を記録させる

今回は、B3に文字を入力するマクロを作成します。
- B3に「AAA」と入力
- 開発タブのコード内にある「記録終了」クリック
これでマクロの作成は完了です。
4.マクロを実行する

記録したマクロを実行してみましょう。
実行の前に、先ほどB3に入力した「AAA」はDeleteキーで削除しておいてください。
- 開発タブのコード内にある「マクロ」をクリック
- 専用のダイアログが開いたら、マクロ名から設定したマクロを選択
- 実行をクリック
すると、先ほど登録したB3に「AAA」と入力するマクロが実行されます。
これは簡単な操作でありますが、応用することで実際にVBAにコードを入力しなくても、マクロの実行が可能です。
作成したマクロのコードを知りたい場合
また、作成したマクロのコードを知りたい場合は、
- 開発タブの「マクロ」をクリック
- 「編集」を選択
これでVBAのコードが表示されます。
エクセルのVBAに関連した資格

VBAを勉強するにあたって、最終的に資格を取得したいと考える方も多いでしょう。
VBAには「VBAエキスパート」という、取得することでVBA・マクロのスキルを証明できる資格があります。
以下はエクセルのVBAエキスパートで取得できる資格とその特徴です。
| 資格 | 特徴 |
| Excel VBA ベーシック | エクセルで使用VBAとマクロの基本的な知識やスキルを証明する資格 |
| Excel VBA スタンダード | エクセルで使用VBAとマクロの応用的な知識やスキルを証明する資格 |
VBAエキスパートを持っていると転職や就職に有利になるため、VBA勉強の最終目標として設定するのもよいでしょう。
しかし、VBAエキスパートは取得の難易度が高く、勉強に時間がかかります。
そこで、手っ取り早くエクセルに関する資格を取りたいならMOS資格がおすすめです。
MOSはOfficeのソフトが使える証明となる資格になるので、こちらも転職や就職に有利になります。
VBAエキスパートよりも資格取得の難易度は高くないため、初めに挑戦してみてはいかがでしょうか。
エクセルのVBAを詳しく学べる方法
エクセルのVBAは基礎を固めてしっかり学習を続けないと習得できないことから、独学での学習はハードルが高いといえます。
Excelマクロ・VBAセミナー
そこでおすすめなのが、Excelマクロ・VBAセミナーです。
Excelマクロ・VBAセミナーなら、わずか2日の学習で、VBAとマクロを業務で使えるレベルまで引き上げてくれます。受講形式は会場受講とライブウェビナーの2種類があり、それぞれの特徴は以下の表のとおりです。
| 受講形式 | 特徴 |
| 会場受講 | 講師と対面での受講。直接講義を受けたい方におすすめ |
| ライブウェビナー | オンラインでの受講。地方住みで会場に足を運べない方におすすめ |
Excel基礎セミナー講習
また、VBAを学習するにあたってエクセルの基礎を固めておきたいという方には、Excel基礎セミナー講習がおすすめです。
Excel基礎セミナー講習なら、エクセルで使う機能の名称やセルの入力方法などの基礎から、カレンダーや表の作成といった応用までを学べます。
エクセルについてわからないことがたくさんあるという方は、こちらのセミナーもぜひチェックしてみてください。
エクセルのVBAについてまとめ
今回は、エクセルで使えるプログラミング言語であるVBAについて紹介しました。
VBAを使えば、データ集計やメールの送受信などの複雑な処理を自動化できるようになります。
処理が自動化されると作業スピードが上がるだけでなく、人為的なミスも減らせるので、業務の生産性に直結するでしょう。また、VBAを習得するにはある程度の勉強が必要なるため、VBAが使えるようになると転職や就職に有利に働きます。
エクセルで高度な作業をしたい方や、自身のスキルアップにつなげたい方は、ぜひVBAの習得に励んでみてはいかがでしょうか。