スケジュール調整や膨大な数値の管理など、日常の業務におけるさまざまな場面で利用されている「Excel(エクセル)」。今や仕事に欠かせないExcelには、単純作業を劇的に楽にしてくれる「マクロ」という機能が備わっています。

今回の記事では「マクロ」の概要から使い方、エラーが出たときの対処法、使用上の注意点まで、幅広くご紹介します。マクロを使いこなせるようになれば、単純作業にかける時間を大幅に短縮できますよ。ぜひチェックしてみてください。

マクロとは

マクロとは、Excel上で行う一連の操作を記録し、自動的に実行することができる技術です。日々のルーチン作業や膨大な手間が発生する入力作業等を記録しておけば、すべてボタン操作一つで実行してくれるため、業務の効率化に非常に役立ちます。

マクロで操作を記録する際は、マイクロソフト社が提供しているVBA(Visual Basic for Applications)という言語が使われます。

マクロはどのような場合に使うか

マクロによる業務の効率化を図りたい場合、以下のようなシーンでの利用がオススメです。使いこなせるようになれば、多くの作業が自動化できるようになりますよ。

ルーチン作業の自動化

たとえば値のコピペや売上の集計といったルーチン作業は、マクロを使って自動化することで、作業時間をぐっと短縮できます。単純な四則演算はもちろん、複雑な表計算やグラフ作成等も一度記録しておけば、あとは実行ボタンを押すだけでOK。コピーする箇所を間違える等のミスや入力漏れも防げて、一石二鳥ですね。必要なデータを抽出したあと、表を元の状態に戻したい場合は、解除用のマクロを作っておくと便利です。こちらもボタン一つで元通りにできます。

メールの送受信

メルマガ送付など、大量の送付先にメールを一括送信したい場合もマクロの利用が便利です。メールの送信先を抽出してリストにまとめ一括で送信する、メール本文の氏名を自動で挿入して送信するなど、手作業で行うと膨大な手間がかかる作業も、ミスなく素早く終えることができます。

シートを分割する・まとめる

たとえば、A社・B社・C社・D社のデータが複雑に入り混じった一つのエクセルシートがあるとします。この4社分のデータを1社ごとのシートに振り分けたい。そんな場面でもマクロが活躍してくれます。1社ずつデータを振り分けた上で、売上順や日付順に並べ替えるのもマクロなら簡単な作業に。逆に、複数のデータを1つにまとめることもできます。

情報を分割する・まとめる

一つのセルに入った情報を分割したりまとめたりする作業も、マクロならスムーズに終えることができます。たとえば、一つのセルに入った住所や名前を複数のセルに分割する、一つのセルに入った住所を地名と番地で分ける、複数のセルに分かれたデータを一つにまとめるなど、お好みの管理方法に変更できます。

入力フォームの作成

マクロを使って顧客情報等の入力フォームを作成し、入力漏れやミスを防ぐ機能を追加することもできます。たとえば、全角と半角を見分けて誤りがあれば自動で修正する、入力漏れがあったら警告を出す、といった機能です。マクロを有効活用することで、不慣れな入力作業であっても効率よく行うことができるでしょう。

WEBから情報を取得する

自動でWEB情報を取得する機能も、マクロの便利な技の一つ。指定したWEBページにアクセスして商品名や価格等の情報を拾ってまとめる等、細かいリサーチや作業の手間が省けます。WEBページに装飾情報を記述するマークアップ言語・XMLのデータを受信することも可能です。

マクロを有効にする設定方法・使用方法

マクロはエクセルの初期設定の状態では利用できません。利用する場合は、あらかじめ設定を行う必要があります。まずは以下の手順に従って、マクロを有効にしましょう。

【マクロを有効にする方法】

1、エクセルを開いて、上部のバーにある「ファイル」タブから、「オプション」「リボンのユーザー設定」に移動する
2、「リボンのユーザー設定」および 「メイン タブ」の下の 「開発」チェックボックスをオンにする

上記の設定でマクロを利用できるようになります。続いて、操作を記録して実行する方法についてご紹介します。一度流れを覚えてしまえば、その後はスムーズに使えるでしょう。

【マクロの記録を行う方法】

1、「開発」タブから「マクロの記録」をクリックする
2、「マクロ名」を入力し、「マクロの保存先」を選び、OKを押す(説明の部分はメモ代わりに使用するものなので、入力してもしなくてもOK)
3、記録したい操作をPC上で行う
4、「開発」タブの「記録終了」を押す
※これでマクロが記録されます。

【マクロを実行する方法】

1「開発」タブから「マクロ」をクリックする
2、実行したいマクロを選び、「実行」をクリックする

上記の実行方法以外に、エクセル上にマクロ実行用の「ボタン」を作成して、ボタンを押すと指定したマクロが実行されるような設定も可能です。以下の手順でボタンが作成できます。

【マクロの操作ボタンを作成する方法】

1、「開発」タブから「挿入」をクリックする
2、「フォームコントロール」の中から「ボタン(フォームコントロール)」を選択する
3、エクセル上でボタンを作成したい位置にマウスをドラッグして、ボタンを作成する
4、「マクロの登録」ダイアログボックスが表示されたら、適用したいマクロを選び「マクロ名」を入力して「OK」をクリックする

これでエクセル上にボタンが配置されます。登録したマクロの処理を実行したい場合は、このボタンを押すだけでOKです。

今度は、マクロを含むファイルを開いたときに有効化するための設定方法についてお伝えします。まずは、セキュリティセンターの設定を以下の手順で確認しましょう。

【セキュリティ センターでマクロの設定を変更する方法】

1、「ファイル」 タブから「オプション」をクリックする
2、「セキュリティ センター」をクリックし、「セキュリティ センターの設定」をクリックする
3、「セキュリティ センター」の 「マクロの設定」をクリックし、4つの設定から一つを選び「OK」 をクリックする
※ここでは「警告を表示してすべてのマクロを無効にする」または「デジタル署名されたマクロを除き、すべてのマクロを無効にする 」のどちらかを選ぶと良いでしょう。「すべてのマクロを有効にする」はセキュリティの問題上、推奨されていません。

もしパソコン上で上記の設定ができない場合は、組織のシステム管理者が既定の設定を変更している可能性がありますので、管理担当者に確認してみましょう。

上記の設定を行うと、マクロを含むファイルを開いたときにセキュリティの警告が表示されます。問題のないファイルである場合は、以下の方法のいずれかで「有効化」を行う必要があります。

【メッセージバーの「コンテンツの有効化」を実行する】

黄色のメッセージバーに、ビックリマークが表示された盾のアイコンと「コンテンツの有効化」ボタンが表示されるので、「コンテンツの有効化」ボタンをクリック。するとファイルが開き、マクロを利用することができます。

【Backstage ビューでマクロを有効にする】

先程同様に黄色のメッセージバーの警告が現れた場合、Microsoft Office Backstage ビューを使用して、マクロを有効にする方法もあります。手順は以下のとおりです。
1、「ファイル」タブをクリックする
2、「セキュリティの警告」から「コンテンツの有効化」をクリックする
3、「すべてのコンテンツを有効にする」で、「このドキュメントのアクティブ コンテンツを常に有効にします」をクリックする

【セキュリティの警告が表示されたときに1回だけマクロを有効にする】

選択したファイルを開いている間だけマクロを有効にするには、以下の手順を実行してください。
1、「ファイル」」タブをクリックする
2、「セキュリティの警告」から「コンテンツの有効化」をクリックする
3、「詳細オプション」 を選択する
4、「Microsoft Office セキュリティ オプション」ダイアログ ボックスで、各マクロについて 「このセッションコンテンツを有効にする」をクリックする
5、「OK」をクリックする

マクロが動かない場合の対処法

複雑なマクロ処理を組んだ際は、バグ(不具合)が見つかりプログラムがうまく動かないケースが出てくることも考えられます。このバグを発見し取り除くことを「デバッグ」と言い、マクロにおけるデバッグには以下の2つの方法が存在します。

1、ステップイン

マクロを1行ずつ実行しながら、バグを探っていくのが「ステップイン」という方法。一つずつ実行することで、どのコードに不具合があるかを特定するのに有効なデバッグ法です。

2、ブレークポイント

任意のところでプログラムを一時中断させる「ブレークポイント」を設定し、ブレークポイントにヒットしたところからデバッグを開始する方法。すべてのプログラムを実行するステップインよりも、デバッグにかける時間を短縮できるメリットがあります。

それぞれの具体的な手順は、以下を参考にしてください。

【ステップインの実行方法】

1、「開発」タブから「Visual Basic」をクリックし、VBAの画面を表示させる。同時にエクセルの画面も並べておく
2、エクセル上で実行するマクロにカーソルを合わせて「F8」キーを押すと、最初のマクロが実行される(実行中のマクロはVBA画面上で黄色く表示される)
3、その後は、「F8」を押すたびに1行ずつ実行されるので、動きに間違いがないか確認する。間違いがあれば該当部分のコードを修正する。

【ブレークポイントの実行方法】

1、VBA 画面とエクセルを並べて表示させる
2、VBA 画面でブレークポイントを設定したい行の行頭にカーソルを合わせ、クリックする(黒丸が追加され、ここがブレークポイントとなる)
3、エクセル上で実行するマクロにカーソルを合わせて、VBA画面のメニューにある「実行」から「Sub/ユーザーフォームの実行」をクリックする
4、ブレークポイントまでマクロが実行されるので、問題がないか確認し、バグが見つかったら修正する。問題がなければ黒丸をクリックして選択範囲を削除し、新たにブレークポイントを指定してチェックする

他のユーザーに共有するときの注意点

エクセルの「校閲」から「ブックの共有」をクリックすると、複数人のユーザーとエクセルファイルを共有し、各人が編集できるようになります。ただし、共有する際はいくつかの注意点があります。以下の点をチェックしておきましょう。

一部機能はサポートされていない

ファイルを複数人で共有する場合、一部の機能は利用できません。たとえば、セルのブロックの挿入または削除、書式による並べ替えまたはフィルタリング、マクロの記述、記録、変更、表示、割り当てなどです。詳細については、以下のページを参照してください。
https://support.office.com/ja-jp/article/%E5%85%B1%E6%9C%89%E3%83%96%E3%83%83%E3%82%AF%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-49b833c0-873b-48d8-8bf2-c1c59a628534

必要があれば変更履歴を記録する

共有ブック機能を用いて複数人で一つのファイルを編集した際は、必要に応じて変更履歴を記録しておきましょう。あとから問題が見つかったときのために、念のため変更履歴を残しておくと便利です。共有ブック機能をオフにする前に、「校閲」タブの「変更履歴の記録」を用いることで記録ができます。

編集を終えたらユーザーを解除する

複数人での同時編集を終えたあとは、共有ブックの機能の無効化を忘れずに行いましょう。「校閲」タブの「ブックの共有」から、「現在このブックを開いているユーザー」ボックスの一覧で、接続を解除したいユーザーを選んで削除ボタンをクリックすると、共有を解除することができます。

まとめ

エクセルの便利機能の一つであるマクロは、初期設定を行い有効化する必要があるものの、一度使い方を覚えれば多様な場面で業務の効率化が可能です。難しいイメージがあり敬遠してきた人もいるかもしれませんが、この機会にマクロの使い方を覚えて、面倒な単純作業を自動化してみましょう。