Excelマクロを使うと、日々のルーチンワークを自動化して、業務効率を劇的に向上させることができます。しかし、セキュリティ上の理由から、Excelでは初期設定でマクロが無効になっています。今回は、Excelマクロの有効化方法について、初心者の方にもわかりやすく解説します。
Excel マクロ 有効化 方法:安全に使うための第一歩
信頼できるマクロだけを有効にする重要性
Excelマクロを有効にする前に、まず理解しておきたいのは、マクロはプログラムの一種であるということです。そのため、悪意のあるマクロを実行してしまうと、ファイルが破損したり、情報が漏洩したりするリスクがあります。経理部で扱う機密情報が流出するような事態は避けたいですよね。だからこそ、信頼できるソースから提供されたマクロのみを有効にすることが非常に重要になります。
例えば、ある製造業の営業部では、顧客からの注文情報を自動で集計するマクロを使用していますが、そのマクロは情報システム部門が作成し、厳重なセキュリティチェックを受けています。このように、信頼できるマクロを使用することが、安全なマクロ利用の基本となります。
反対に、出所の不明なファイルに含まれるマクロは、安易に有効化しないようにしましょう。特に、インターネットからダウンロードしたファイルや、身に覚えのないメールに添付されたファイルには注意が必要です。
Excelでマクロを有効にする手順
それでは、実際にExcelでマクロを有効にする手順を見ていきましょう。Excelのバージョンによって若干手順が異なる場合がありますが、基本的な流れは同じです。
- Excelを起動し、マクロを含むファイルを開きます。
- ファイルを開くと、画面上部に「セキュリティの警告 マクロが無効にされました」という黄色いバーが表示されることがあります。
- このバーに表示された「コンテンツの有効化」ボタンをクリックします。
- 「コンテンツの有効化」ボタンが表示されない場合は、「ファイル」タブをクリックし、「情報」を選択します。
- 「セキュリティの警告」という項目が表示されている場合は、「コンテンツの有効化」ボタンをクリックします。
- 「コンテンツの有効化」ボタンをクリックすると、マクロが有効になり、ファイル内のマクロが実行可能になります。
この手順でマクロが有効にならない場合は、次のセクションで説明する「マクロの設定」を確認してください。

「マクロの設定」で有効化する方法
Excelの「マクロの設定」では、マクロの有効/無効を細かく設定することができます。この設定を変更することで、マクロを有効にすることができます。
- Excelを起動し、「ファイル」タブをクリックします。
- 「オプション」を選択し、「Excelのオプション」ダイアログボックスを開きます。
- 「セキュリティセンター」を選択し、「セキュリティセンターの設定」ボタンをクリックします。
- 「マクロの設定」を選択します。
- ここで、マクロの有効/無効を設定することができます。
マクロの設定には、以下の4つのオプションがあります。
- 「すべてのマクロを無効にする(通知を表示する)」:マクロを含むファイルを開いたときに警告を表示し、マクロの実行を許可するかどうかを選択できます。
- 「すべてのマクロを無効にする(通知を表示しない)」:マクロをすべて無効にし、警告も表示しません。
- 「デジタル署名されたマクロを除き、すべてのマクロを無効にする」:デジタル署名されたマクロのみ実行を許可し、署名のないマクロは無効にします。
- 「すべてのマクロを有効にする(推奨されません。危険なコードが実行される可能性があります)」:すべてのマクロを有効にします。
セキュリティを考慮すると、「すべてのマクロを無効にする(通知を表示する)」または「デジタル署名されたマクロを除き、すべてのマクロを無効にする」を選択することをおすすめします。筆者の経験では、経理部門など、特にセキュリティが重要な部署では、「デジタル署名されたマクロを除き、すべてのマクロを無効にする」設定がよく使われています。
ポイント: 「すべてのマクロを有効にする」はセキュリティリスクが高いため、特別な理由がない限り選択しないようにしましょう。
Excelマクロ有効化後の実用例:業務効率を飛躍的に向上させる
経理部の月次決算業務を効率化するマクロ
経理部では、毎月月末に月次決算業務を行います。この業務では、複数のシートからデータを集計したり、転記したりする作業が発生し、非常に時間がかかります。そこで、マクロを使ってこれらの作業を自動化することで、大幅な時間短縮を実現できます。
例えば、以下のようなマクロを作成することができます。
- 複数のシートから必要なデータを抽出し、集計シートに自動で転記するマクロ
- 勘定科目を自動で仕訳し、総勘定元帳に転記するマクロ
- 売掛金残高を自動で計算し、売掛金管理台帳に転記するマクロ
これらのマクロを組み合わせることで、月次決算業務にかかる時間を大幅に短縮し、経理担当者の負担を軽減することができます。

営業部の売上報告書作成を自動化するマクロ
営業部では、各営業担当者が作成した売上報告書をまとめる作業が発生します。この作業は、複数のファイルからデータをコピー&ペーストする必要があり、非常に手間がかかります。そこで、マクロを使ってこれらの作業を自動化することで、営業担当者の負担を軽減し、より重要な業務に集中できるようになります。
ある商社では、各営業担当者が入力した売上データを自動で集計し、部署全体の売上報告書を作成するマクロを導入しました。これにより、これまで数時間かかっていた作業が数分で完了するようになり、営業担当者は顧客とのコミュニケーションや新規顧客開拓に時間を割けるようになりました。
具体的には、以下のようなマクロを作成することができます。
- 複数のExcelファイルから売上データを抽出し、集計シートに自動で転記するマクロ
- 売上データを商品別、顧客別に集計するマクロ
- 売上データをグラフ化し、売上報告書を作成するマクロ
総務部の勤怠管理を効率化するマクロ
総務部では、従業員の勤怠管理を行っています。従業員から提出された勤怠報告書を元に、出勤時間、退勤時間、残業時間などを集計し、給与計算に反映させる必要があります。この作業は、従業員数が多くなると非常に時間がかかります。そこで、マクロを使ってこれらの作業を自動化することで、総務担当者の負担を軽減することができます。
具体的には、以下のようなマクロを作成することができます。
- 従業員から提出された勤怠報告書を自動で読み込み、データベースに登録するマクロ
- 出勤時間、退勤時間、残業時間などを自動で計算するマクロ
- 給与計算に必要なデータを自動で集計するマクロ
これらのマクロを組み合わせることで、勤怠管理業務にかかる時間を大幅に短縮し、総務担当者は他の業務に集中できるようになります。
マクロのセキュリティ設定:安全性を高めるための応用パターン
デジタル署名されたマクロのみを有効にする
マクロにデジタル署名を付与することで、そのマクロが信頼できるソースから提供されたものであることを証明できます。デジタル署名されたマクロのみを有効にするように設定することで、セキュリティリスクを大幅に軽減することができます。
デジタル署名されたマクロのみを有効にする手順は以下の通りです。
- Excelを起動し、「ファイル」タブをクリックします。
- 「オプション」を選択し、「Excelのオプション」ダイアログボックスを開きます。
- 「セキュリティセンター」を選択し、「セキュリティセンターの設定」ボタンをクリックします。
- 「マクロの設定」を選択します。
- 「デジタル署名されたマクロを除き、すべてのマクロを無効にする」を選択します。
この設定を行うことで、デジタル署名のないマクロは実行されなくなるため、悪意のあるマクロのリスクを減らすことができます。
注意点: デジタル署名は、信頼できる認証機関から発行されたものを使用するようにしましょう。自己署名証明書はセキュリティレベルが低いため、推奨されません。
特定の場所にあるファイルのマクロのみを有効にする
信頼できる場所(例えば、社内ネットワーク上の特定のフォルダ)に保存されたファイルのマクロのみを有効にするように設定することも可能です。これにより、インターネットからダウンロードしたファイルや、USBメモリ経由で持ち込まれたファイルに含まれるマクロのリスクを軽減することができます。
特定の場所にあるファイルのマクロのみを有効にするには、「信頼できる場所」を設定します。
- Excelを起動し、「ファイル」タブをクリックします。
- 「オプション」を選択し、「Excelのオプション」ダイアログボックスを開きます。
- 「セキュリティセンター」を選択し、「セキュリティセンターの設定」ボタンをクリックします。
- 「信頼できる場所」を選択し、「新しい場所の追加」ボタンをクリックします。
- 信頼できる場所として設定したいフォルダを選択し、「OK」ボタンをクリックします。
この設定を行うことで、指定したフォルダに保存されたファイルに含まれるマクロのみが有効になり、それ以外の場所にあるファイルのマクロは無効になります。
VBAパスワードを設定してマクロを保護する
自分で作成したマクロを保護するために、VBAパスワードを設定することができます。VBAパスワードを設定することで、他の人がマクロのコードを編集したり、コピーしたりすることを防ぐことができます。
VBAパスワードを設定する手順は以下の通りです。
- ExcelでVBAエディタを開きます。(「開発」タブ→「Visual Basic」)
- VBAエディタで、プロジェクトエクスプローラからプロジェクトを選択します。
- 「ツール」メニューから「VBAProjectのプロパティ」を選択します。
- 「保護」タブを選択し、「プロジェクトをロックして表示用にプロパティを表示」にチェックを入れます。
- パスワードを入力し、「OK」ボタンをクリックします。
この設定を行うことで、VBAプロジェクトにパスワードが設定され、他の人がコードを編集したり、コピーしたりすることができなくなります。ただし、パスワードを忘れてしまうと、自分自身もコードを編集できなくなるため、パスワードは厳重に管理するようにしましょう。

Excelマクロ有効化でよくあるエラーとトラブルシューティング
「セキュリティの警告 マクロが無効にされました」が表示されない
マクロを含むファイルを開いたときに、「セキュリティの警告 マクロが無効にされました」という警告が表示されない場合があります。これは、Excelの設定で、マクロに関する警告が表示されないように設定されていることが原因です。
この問題を解決するには、Excelの設定を変更して、マクロに関する警告が表示されるようにする必要があります。
- Excelを起動し、「ファイル」タブをクリックします。
- 「オプション」を選択し、「Excelのオプション」ダイアログボックスを開きます。
- 「セキュリティセンター」を選択し、「セキュリティセンターの設定」ボタンをクリックします。
- 「マクロの設定」を選択します。
- 「すべてのマクロを無効にする(通知を表示する)」を選択します。
この設定を行うことで、マクロを含むファイルを開いたときに警告が表示されるようになり、「コンテンツの有効化」ボタンをクリックしてマクロを有効にすることができます。
「実行時エラー ‘1004’: アプリケーション定義またはオブジェクト定義のエラーです」
マクロを実行したときに、「実行時エラー ‘1004’: アプリケーション定義またはオブジェクト定義のエラーです」というエラーが表示される場合があります。このエラーは、マクロのコードに誤りがある場合に発生します。例えば、存在しないシートやセルを参照している場合、または、オブジェクトのメソッドやプロパティを誤って使用している場合などに発生します。
このエラーを解決するには、VBAエディタでマクロのコードを確認し、エラーの原因となっている箇所を修正する必要があります。エラーメッセージに表示された行番号を参考に、コードを丁寧にチェックしましょう。
筆者の経験では、このエラーは、シート名やセル範囲の指定ミスが原因であることが多いです。特に、複数のシートを扱うマクロの場合、シート名を間違えてしまうと、このエラーが発生しやすくなります。ある企業の営業部では、このエラーが頻発していたため、シート名を定数として定義し、コード内で定数を使用するように変更したところ、エラーの発生頻度が大幅に減少しました。
マクロが動作しない
マクロを有効にしたにもかかわらず、マクロが動作しない場合があります。この原因として考えられるのは、以下の点です。
- マクロのコードにエラーがある
- マクロが有効になっていない
- Excelの設定で、マクロが実行できないように設定されている
- ファイルが破損している
これらの原因を一つずつ確認し、問題を解決する必要があります。まずは、VBAエディタでマクロのコードを確認し、エラーがないか確認しましょう。次に、マクロが有効になっているかどうかを確認します。また、Excelの設定で、マクロが実行できないように設定されていないか確認しましょう。最後に、ファイルが破損していないか確認するために、ファイルを別の場所にコピーして開き直してみましょう。

Excelマクロ有効化と他の機能との連携:可能性を広げる
VLOOKUP関数とマクロの連携
VLOOKUP関数は、指定した範囲から値を検索する関数です。マクロと組み合わせることで、VLOOKUP関数をより柔軟に活用することができます。例えば、VLOOKUP関数を使って複数のシートから値を検索したり、VLOOKUP関数の結果を自動で別のシートに転記したりすることができます。
ある会社では、VLOOKUP関数とマクロを組み合わせて、顧客情報を自動で更新するシステムを構築しました。顧客情報を管理するシートと、営業担当者が入力するシートがあり、営業担当者が顧客情報を更新すると、マクロが自動的にVLOOKUP関数を実行し、顧客情報を管理するシートを更新します。これにより、顧客情報の管理が効率化され、営業担当者の負担も軽減されました。
Microsoft公式: VLOOKUP関数によると、検索値は範囲の左端列に含まれている必要があります。この点を考慮してマクロを作成する必要があります。
ピボットテーブルとマクロの連携
ピボットテーブルは、大量のデータを集計・分析するための機能です。マクロと組み合わせることで、ピボットテーブルの作成や更新を自動化することができます。例えば、毎月同じ形式のデータからピボットテーブルを作成する場合、マクロを使ってピボットテーブルの作成を自動化することができます。
経理部の月次締めでピボットテーブルを使う場合、マクロで自動化することで、集計作業にかかる時間を大幅に短縮できます。具体的には、以下のようなマクロを作成することができます。
- データソースの範囲を自動で設定するマクロ
- ピボットテーブルのレイアウトを自動で設定するマクロ
- ピボットテーブルを自動で更新するマクロ
Power Queryとマクロの連携
Power Queryは、複数のデータソースからデータを取得し、整形・変換するための機能です。マクロと組み合わせることで、Power Queryの処理を自動化することができます。例えば、複数のExcelファイルからデータを取得し、Power Queryで整形・変換した後、マクロで集計するといった処理を自動化することができます。
Power Queryを使うことで、これまで手作業で行っていたデータの前処理を自動化し、マクロで集計・分析することで、より効率的なデータ分析が可能になります。特に、大量のデータを扱う場合や、複数のデータソースからデータを取得する必要がある場合に、Power Queryとマクロの連携は非常に有効です。
Excelマクロ有効化で業務効率を劇的に改善するヒント
ショートカットキーを活用してマクロを起動する
マクロにショートカットキーを割り当てることで、マクロを簡単に起動することができます。例えば、Ctrl+Shift+Mのショートカットキーを「売上報告書作成マクロ」に割り当てることで、キーボード操作だけでマクロを起動することができます。
ショートカットキーを割り当てる手順は以下の通りです。
- ExcelでVBAエディタを開きます。(「開発」タブ→「Visual Basic」)
- VBAエディタで、マクロのコードを表示します。
- 「表示」メニューから「プロパティウィンドウ」を選択します。
- プロパティウィンドウで、「ショートカットキー」の項目に、割り当てたいショートカットキーを入力します。
ショートカットキーを割り当てることで、マクロの起動が簡単になり、業務効率が向上します。
アドインとしてマクロを登録する
マクロをアドインとして登録することで、複数のExcelファイルで同じマクロを共有することができます。アドインとして登録したマクロは、Excelを起動するたびに自動的に読み込まれるため、毎回マクロを有効にする必要がありません。
マクロをアドインとして登録する手順は以下の通りです。
- マクロを含むExcelファイルを保存します。(ファイルの種類を「Excelアドイン (*.xlam)」として保存します。)
- Excelを起動し、「ファイル」タブをクリックします。
- 「オプション」を選択し、「Excelのオプション」ダイアログボックスを開きます。
- 「アドイン」を選択し、「管理」のプルダウンメニューから「Excelアドイン」を選択し、「設定」ボタンをクリックします。
- 「アドイン」ダイアログボックスで、「参照」ボタンをクリックし、保存したアドインファイルを選択します。
- 「OK」ボタンをクリックします。
アドインとして登録することで、複数のExcelファイルで同じマクロを共有することができ、マクロの管理が容易になります。

条件付き書式とマクロを連携させる
条件付き書式は、セルの値に応じて書式を自動的に変更する機能です。マクロと組み合わせることで、条件付き書式をより柔軟に活用することができます。例えば、マクロを使ってセルの値を変更し、その値に応じて条件付き書式を適用するといったことが可能です。
ある会社では、売上目標達成率に応じてセルの色を自動的に変更するシステムを構築しました。マクロを使って売上目標達成率を計算し、その値に応じて条件付き書式を適用することで、売上状況を一目で把握できるようになりました。
プロのコツ: マクロと条件付き書式を組み合わせることで、視覚的にわかりやすいレポートを作成することができます。
Excelマクロ有効化:競合製品との違い
Googleスプレッドシートとの比較
Googleスプレッドシートにも、Excelのマクロに相当する「Google Apps Script」という機能があります。Google Apps Scriptは、JavaScriptをベースとしたスクリプト言語で、スプレッドシートの操作を自動化することができます。しかし、Excelのマクロ(VBA)と比較すると、Google Apps Scriptは、Excel固有の機能(例えば、ActiveXコントロール)を操作することができません。また、Google Apps Scriptは、クラウド上で動作するため、ローカルファイルへのアクセスに制限があります。
一方で、Google Apps Scriptは、Google Workspaceの他のサービス(例えば、Gmail、Googleカレンダー)との連携が容易であるという利点があります。また、Google Apps Scriptは、Webアプリケーションとして公開することも可能です。
LibreOffice Calcとの比較
LibreOffice Calcにも、Excelのマクロに相当する「LibreOffice Basic」という機能があります。LibreOffice Basicは、VBAと互換性のあるスクリプト言語で、Calcの操作を自動化することができます。しかし、LibreOffice Basicは、VBAと完全に互換性があるわけではなく、一部のVBAコードは、LibreOffice Basicで動作しない場合があります。
また、LibreOffice Basicは、Excelと比較すると、機能が少ないという欠点があります。例えば、ExcelのPower Queryに相当する機能は、LibreOffice Calcにはありません。
筆者の経験では、VBAで作成したマクロをLibreOffice Basicに移行する場合、いくつかのコードを修正する必要がありました。特に、ActiveXコントロールを使用している場合は、LibreOffice Basicで代替手段を探す必要があります。
Excel Onlineとの比較
Excel Onlineは、Webブラウザ上で動作するExcelのオンライン版です。Excel Onlineでも、マクロを実行することができますが、Excelデスクトップ版と比較すると、機能が制限されています。例えば、Excel Onlineでは、ActiveXコントロールを使用することができません。また、Excel Onlineでは、ローカルファイルへのアクセスに制限があります。
しかし、Excel Onlineは、Webブラウザ上で動作するため、場所を選ばずにExcelファイルにアクセスできるという利点があります。また、Excel Onlineは、複数のユーザーで同時に編集することができます。
Excelマクロ有効化:バージョン別の対応
Excel 2016でのマクロの有効化
Excel 2016でのマクロの有効化方法は、基本的な手順は前述の通りですが、画面のデザインが若干異なる場合があります。「ファイル」→「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」→「マクロの設定」の順に選択し、マクロの有効/無効を設定します。
Excel 2019でのマクロの有効化
Excel 2019でのマクロの有効化方法は、Excel 2016とほぼ同じです。画面のデザインが若干異なる程度で、基本的な手順は変わりません。
Microsoft 365でのマクロの有効化
Microsoft 365版のExcelでのマクロの有効化方法も、基本的な手順は同じです。ただし、Microsoft 365では、セキュリティ機能が強化されており、マクロの実行に関する警告が表示される頻度が高くなっています。セキュリティを考慮し、信頼できるマクロのみを有効にするようにしましょう。
Microsoft 365では、クラウドストレージ(OneDrive)との連携が強化されており、OneDriveに保存されたExcelファイルのマクロを、複数のデバイスで共有することができます。
Microsoft公式: セキュリティ センターの設定も参考にしてください。
Excelマクロ有効化:補足FAQ
Q: マクロを有効にすると、セキュリティリスクは高まりますか?
A: はい、マクロを有効にすると、セキュリティリスクは高まります。悪意のあるマクロを実行してしまうと、ファイルが破損したり、情報が漏洩したりする可能性があります。そのため、信頼できるソースから提供されたマクロのみを有効にすることが重要です。
Q: マクロを有効にするかどうか迷った場合はどうすればいいですか?
A: マクロを有効にするかどうか迷った場合は、まず、そのマクロの提供元を確認してください。信頼できる提供元(例えば、社内の情報システム部門)から提供されたマクロであれば、有効にしても問題ないでしょう。しかし、出所の不明なマクロの場合は、安易に有効化しないようにしましょう。不安な場合は、情報システム部門に相談することをおすすめします。
Q: マクロを有効にした後で、無効に戻すことはできますか?
A: はい、マクロを有効にした後で、無効に戻すことができます。Excelの設定を変更することで、マクロを無効にすることができます。
Q: マクロが動作しない場合はどうすればいいですか?
A: マクロが動作しない場合は、まず、マクロが有効になっているかどうかを確認してください。次に、VBAエディタでマクロのコードを確認し、エラーがないか確認しましょう。また、Excelの設定で、マクロが実行できないように設定されていないか確認しましょう。最後に、ファイルが破損していないか確認するために、ファイルを別の場所にコピーして開き直してみましょう。
Q: マクロを安全に使うための注意点はありますか?
A: マクロを安全に使うための注意点は、以下の通りです。
- 信頼できるソースから提供されたマクロのみを有効にする
- 出所の不明なマクロは、安易に有効化しない
- マクロのコードを定期的に確認する
- セキュリティソフトを導入し、常に最新の状態に保つ
Excelマクロ有効化:明日からの実務に取り入れる3ステップ
Excelマクロの有効化は、業務効率化の第一歩です。今回ご紹介した内容を参考に、ぜひ明日からの実務に取り入れてみてください。
- まずは、Excelの「マクロの設定」を確認し、自分の環境に合った設定を選択しましょう。
- 次に、実際にマクロを有効にして、簡単なマクロを実行してみましょう。
- 最後に、業務でよく使うExcelファイルにマクロを組み込んで、業務効率化を実感してみましょう。
Excelマクロを使いこなせれば、事務作業の負担を減らし、より創造的な仕事に集中できるようになるでしょう。
日々の業務にマクロを取り入れて、効率化を図りましょう。

コメント