【Excel業務効率化】マクロとExcelVBAとは

ビジネスパーソンなら業界や業種に関わらず、頻繁に使っているMicrosoftOfficeのソフト。特に表計算ソフトであるExcelは経理やデータ集計、マーケティングなど幅広い場面で利用されています。今回は、そんなExcelでの業務の効率アップを図ろうとすると必ず目にする「マクロ」と「VBA」について、詳しく解説していきます。

マクロとは

マクロは、ある決まった手順の作業や操作などをひとつにまとめてパッケージ化し、必要に応じて呼び出すことができるようにする機能のことです。

ExcelやAccessでの業務効率化について調べると必ずといっていいほど目にするので、マイクロソフト特有の機能か何かだと思っている人も多いですが、アプリケーションソフト全般で使われる用語です。

ExcelVBAとは

VBAは、マイクロソフトが開発したプログラミング言語のひとつ「Visual Basic for Applications」の略で、マイクロソフトが開発していた汎用プログラミング言語のVisual BasicをMicrosoftOfficeソフトに搭載させたものです。Excelに搭載されているものを特にExcelVBAと呼ぶこともあります。

また、VBAは主にMicrosoftOfficeのソフト上でマクロを記述する際に使われ、「マクロの記録」機能では実装が難しい複雑なマクロを作成するときには、VBAを使ってプログラミングする必要があります。

なお、マイクロソフト以外の会社が提供しているアプリケーションでも、マイクロソフトからライセンスを取得していれば、搭載することができます。たとえば、汎用CADソフトで有名なAutoCADには、以前はVBAが搭載されていました。(現在は製品本体にVBAモジュールは含まれておらず、別途ダウンロード・インストールが必要です)

マクロは機能であり、VBAはプログラミング言語なので、本来比較できるものではありません。インターネット上で検索して見つかるサイトの中には、「マクロの記録」で記録されたものを「マクロ」、VBAでプログラミングしたマクロを「VBA」と呼んでいるものも見られますので、インターネット上で情報収集する際には注意が必要です。

マクロを作成・使用する方法

Excelでマクロを作成・使用するには、下記2通りの方法があります。

  • 「マクロの記録」によって登録したマクロを利用する
  • VBAを使ってマクロをプログラミングする

上記どちらの方法でマクロを使うにせよ、デフォルトでは表示されていない「開発」リボンを表示する必要があるので、Excelのウインドウに「開発」リボンが表示されていない場合は、「開発」リボンを表示させることから始めましょう。

ファイルメニューの「オプション」をクリックして「Excelのオプション」画面を開き、「リボンのユーザー設定」で「開発」のチェックボックスにチェックを入れれば、「開発」リボンが表示されます。

「マクロの記録」によって登録したマクロを利用する

「開発」リボンの「マクロの記録」をクリックして記録を開始した後、マクロにしたい操作を実際にExcel上で行い、「記録終了」をクリックでマクロの記録を修了します。

こうして記録・登録されたマクロを使いたい場合には、「マクロ」をクリックし、実行させたいマクロを選択後、「実行」をクリックします。

VBAを使ってマクロをプログラミングする

マクロにしたい操作内容が「マクロの記録」で記録できないものだったり、外部ファイルを使うような複雑な操作をマクロにしたりする場合には、VBAでマクロをプログラミングする必要があります。

新規でマクロを作成する場合には、「開発」リボンの「マクロ」をクリックし、マクロ名を入力して「作成」を選択することで、VBE(Visual Basic Editor)が起動するので、エディタ上でコーディングを行います。

マクロで何ができるか

「マクロの記録」機能で作成できるマクロには限界がありますが、VBAを使ってマクロを自分でコーディングする場合、Excelの機能で実現できる操作はすべてマクロにすることが可能です。さらに、外部連携を利用すれば外部ファイルの読み込み・書き出しやインターネットにアクセスした情報収集、メールの送信、PowerPointやWordのファイル作成など、非常に高度な内容をマクロにすることもできます。VBAを使って実装できるマクロの具体的な例を見てみましょう。

マクロを使ってできることの具体例

  • Google検索の検索結果を自動取得(スクレイピング)
  • 外部ファイルで管理されている顧客情報を整理・成型してExcelファイル化
  • 試験結果のデータを読み込み、各生徒の得点表・スパイダーチャート作成
  • 顧客情報をもとに、メールアドレスがある顧客にのみメール送信
  • お得意先様情報リストから、郵送用DMに貼るラベルシール作成

なお、Excelのマクロが苦手とする作業内容としては、数十万件規模の膨大なデータ量を扱うような処理は向いていません。せいぜい数千~数万件のデータ量にとどめておくのが良いでしょう。数十万件規模のデータを扱う場合には、表計算ソフトのExcelではなく、データベースソフトのAccessが適しています。

まとめ

いかがでしたでしょうか。Excelの業務効率化を調べていると必ずといっていいほど目にする「マクロ」と「VBA」について、それぞれの意味やマクロを使ってできることなど、詳しく解説しました。VBAでの開発スキルは、高度な業務の効率化・自動化をしようと思うと、非常に重宝するスキルです。Excelを日常的に使っていて、業務効率化を図りたいと考えている方は、ぜひVBAプログラミングのスキル習得を検討してみてはいかがでしょうか。

なお、リンクアカデミーが運営するパソコンスクールAVIVA(アビバ)では、ExcelVBAを学べるコースも用意しています。また、ExcelVBAは早いけれどゆくゆくはVBAが使えるようになりたいという方も、受講生のExcelの知識・スキルレベルに応じたレベル別の講座も用意しているので、体系的に着実にスキルを身につけたいという方にもおすすめです。

AVIVAが気になった方は、ぜひ一度資料請求や無料体験をお申し込みください。

今すぐ資料請求するにはこちらから

【詳細ページ】パソコンスクールアビバのExcel講座の詳細を見る
【関連ページ】パソコン教室AVIVA(アビバ)のExcel関連講座まとめ