Excelマクロとは?VBAとの違い、できることや使い方を徹底解説

Excelのマクロとは?VBAとの違い

データの集計、分析、管理などに使われるExcel。表計算やグラフ作成などさまざまな機能がある中で、マクロとは複数の操作をまとめて記録させられる機能のこと。マクロを使うと、何度も行わなければならない複数の操作工程が一連の手続きとして記録され、簡単な操作で何度も繰り返し呼び出すことができるのです。
例えば、データを入力した表から、「(1)30代の年齢だけを抽出して、(2)男性だけを選び、(3)年齢順に並び変えて、(4)売上金額順に並び変える」という作業を行う場合、(1)~(4)までの工程を記録して、ワンクリックで自動的に実行させることができます。
Excelのマクロと似たものに、「VBA(Visual Basic for Applications)」があります。VBAは Microsoft Officeに含まれているアプリケーションソフトの拡張機能のことで、簡単なプログラミングを実行するとExcelやWordで複雑な処理を自動的に行うことが可能になります。マクロとVBAのどちらも、処理を自動化できるという点は共通しますが、VBAではプログラミングの知識が必要になりますが、Excelマクロはプログラミングの知識がなくても、同じような処理を自動化できる点に、両者の違いがあります。

Excelのマクロでできること

Excelのマクロでは、セルの操作、ワークシートやワークブックの操作など、次のような操作を自動化することができます。
・セルの操作
値の取得、設定、文字サイズやフォント、文字色などの書式設定など。複数個所の書式設定の一発変更もできます。文字の検索、置換も可能です。
・表やグラフ作成
集計表や入力フォームの作成、値の抽出、グラフの作成など。
・ワークシート
ワークシートの新規作成、名前の変更、文字の検索や置換、画像挿入など。
・ワークブック
新規作成、名前をつけて保存など。
・各種フォルダとファイル新規ファイル・フォルダの作成、コピー、名前の変更、移動、テキストファイルの読み込みなど。

大量にあるデータベースのデータを、書式設定を変えて一発で変換したり、大量のデータからグラフを一発で作成したりできます。このようなマクロの機能で、ルーティンとなっている作業を自動化して、効率化をアップできるのです。

Excelマクロはこんな使い方ができる

Excelマクロを利用した、具体的な自動化の利用例をご紹介しましょう。

顧客データや売上など型があるデータを加工する

商品を購入した顧客のデータ管理や、毎月の売上や入金の管理をExcelで行っている場合、決まった表やフォーマットにデータを入力して、それを整理する作業がルーティンで発生します。日付や顧客の属性、金額、入金状況などに応じて、データを並べ替えたり抜き出したりしたいとき、マクロで自動化しましょう。「売上が10万円以上の顧客と企業名部分に色をつけたい」「顧客の属性で、毎月の男女比率を出したい」など、ルーティン作業をマクロで一発で操作できます。Excelの操作にかかる時間を短縮して、その分だけ分析や次月への対策を考える時間にあてることができます。

ショートカットキーの設定をする

「Ctrl+C」でコピー、「Ctr+V」でペーストのように、簡単に操作できるのが、ショートカットキーです。そしてExcelのマクロで、自分の好きなようにショートカットキーを設定できます。設定方法は、「マクロ」のダイアログボックスを開いて「オプション」をクリックし、「ショートカットキー」の覧で『Ctrl+〇』」を入力するだけ。
上述したような既に存在するショートカットキーと同じものは設定できませんが、『Ctrl+〇』または『Ctrl+Shift+〇』で、ショートカットキーを決めることができます。マクロの操作を頻繁に行うのなら、このショートカットキーを設定しておくと、さらに操作が簡単になります。

インターネットにアクセスし情報を自動取得する

インターネットからさまざまなデータを収集して、Excelに入力して資料として作るとき、頻繁にそのような作業を繰り返すならマクロを使うと簡単です。例えば官公庁が発表するデータを一部使って、社内用資料に利用するときなど、インターネットにアクセスしてデータを自動で取得することができます。
手作業ならデータの入力ミスが生じやすいですが、マクロを使えばそのようなミスを防げるでしょう。さらに、そのデータからグラフを自動作成させて、分析に活用することもできます。

月末に決まったデータ処理を行う

各種のデータをExcelで管理して、月末にそれらを使って決まった処理を行う場合、そのルーティン作業にマクロを活用しましょう。各シートごとの合計金額を算出して、グラフ化してレポートとしてまとめるといった一連の作業を、一発で操作できます。
また、日付部分には数字しか入力できないようにして、文字を入力すると警告するなど、入力フォームを作っておけば、入力ミスを自動訂正させることが可能です。

テンプレートを使ってメールを送信する

Excelのマクロで、Outlookのメール自動送信まで操作させることができます。この機能を使うと、売上や請求額をExcelの表で管理し、それぞれの担当者にメールで請求書を送信するといった作業を効率化できます。さらにExcelに入力されている名前を、メールの本文テンプレートに組み込んで、送り先の名前をそれぞれの担当者の名前に変更して送信することも可能なため、かなり作業が簡単になります。手動であれば、金額や宛名、メールアドレスの打ち間違えなどが生じるかもしれませんが、マクロを利用すればそんなミスを防ぐこともできます。

Excelマクロを使うときに注意すべきこと

最後に、Excelでマクロを使うときの注意点をご紹介します。

ファイルを保存するとき拡張子に気を付ける

通常のExcelでは「.xlsx」という拡張子が付きますが、マクロを使ったときにそれを記録させるためには、「.xlsx」では保存できません。ファイルを保存するときは、「マクロ有効ブック」の形式で保存することが大切で、拡張子は「.xlsm」です。せっかくマクロを記録させようと思っても、いつもの保存方法ではきちんと保存できませんから、注意しましょう。

誤作動したときはEscで止め、記録を削除する

マクロを正しく記録させられれば誤作動を起こすことは考えられませんが、もし想定した操作とは違う作業を始めたら、「Esc」キーを押しましょう。そのうえで、「開発」タブから「マクロ」をクリックして、記録させたマクロが誤っていなかったか確認してください。「ダイアログボックス」にある「削除」ボタンをクリックすれば、記録させたマクロを消去できます。再度マクロを正しく記録させ直すなど、確認しましょう。

プログラミング初心者におすすめ

Excelはほとんどの企業で利用していて、もっとも幅広く利用されているソフトウェアのひとつです。そしてVBAは、マクロ作成のプログラミング言語です。だからこそ、Excelマクロをマスターできると、VBAの仕組みの理解に繋がり、プログラミングの勉強にもなっていくのです。Excelマクロはとても汎用性の高い機能ですから、プログラミングの最初のとっかかりとしても、習得を目指していってはいかがでしょうか。

求人詳細ページへのリンク

仕事カタログページへのリンク

Excelマクロとは?VBAとの違い、できることや使い方を徹底解説のページです。ITエンジニア・移動体通信エンジニア(技術者)の派遣求人ならブレーンゲート。株式会社ブレーンネットはシステムエンジニアやネットワークエンジニア、プログラマーの派遣・転職をサポートいたします。