Excelでマクロを有効にする方法 (すべての方法、ステップバイステップ)
Iron Softwareのチームによって書かれました
マクロは、Microsoft Excel の強力な機能であり、ユーザーが繰り返し行うタスクを自動化し、ワークフローを効率化することができます。 Excelファイルを開いたときに、上部に"マクロは無効にされています"という黄色のバーが表示されたことがあるなら、あなたは一人ではありません。 これは毎日何百万ものExcelユーザーに起こり、修正には通常10秒未満で済みます。
マクロは、Excelスプレッドシート内のタスクを自動化することによって機能します。 これらはコマンドで構成されており、記録された操作やVBAコードとして、特定の機能を自動的に実行することができます。
マクロは、Excelで一つのコマンドのように実行できる一連のコマンドです。
最も簡単な方法: リボンのすぐ下に表示される黄色のセキュリティ警告バーで コンテンツを有効化 ボタンをクリックします。 以上です。 マクロはすぐに実行されます。
しかし、物語には続きがあります。 ファイルの受取り方法(メール、共有ドライブ、ITポリシー)によって、そのボタンが表示されない場合や、全くプロンプトなしで自動的にマクロを実行する必要があるかもしれません。 このガイドでは、すべてのメソッド、すべてのエッジケース、そして必要なすべての設定について説明します。 *
マクロとは何か、なぜExcelでそれがブロックされるのか?
マクロは、Excelファイル内で記録または記述された小さなプログラムで、タスクや複数のタスクを自動化します。例えば、週報のフォーマットを行う、別のシートからデータをインポートする、セルが特定の値に達したときにメールを送信するなどです。 それは本当に役に立ちます。
マクロはExcelの複雑または繰り返しの作業を自動化するために使用できます。
マクロはExcelスプレッドシートプログラムでの作業を簡素化するのに役立ちます。
Excelがデフォルトでそれらをブロックする理由は、マクロが悪意のあるコードを実行するために使用される_可能性_があるからです。 ウイルスやランサムウェアのペイロードはマクロ有効化されたExcelファイル(.XLSM)内に潜むことができるため、Microsoftは、明示的に許可しない限り、すべてのマクロをブロックする方が安全であると決定しました。 一般的にはこれは良いポリシーですが、信頼するファイルのマクロをオンにする方法を知っておく必要があることを意味します。
方法1: セキュリティ警告バーで"コンテンツの有効化"をクリックする(最速)
これは最も一般的なシナリオであり、最も迅速な修正です。
表示されるとき: 自分のコンピュータで初めて開くマクロ対応のExcelファイル(.XLSMまたは.XLSB)を開くたびに。
ステップ:
通常通りにExcelファイルを開きます。
- リボンタブのすぐ下を見てください。シールドアイコン付きの黄色いバーとメッセージがあります: "セキュリティ警告: マクロが無効になっています。"
-
そのバーの右側にあるコンテンツを有効化ボタンをクリックします。
- ファイルがマクロを有効にして再読み込みされます。

この裏で何が行われているか: Excel はファイルを信頼済みドキュメントのリストに追加します。 次回、同じ場所から同じファイルを開くと、マクロは自動的にプロンプトなしで実行されます。
重要な注意点:ファイルを別のフォルダに移動したりコピーしたり、新しいコピーをメールで受け取った場合、Excelはそれを新しい信頼されていないファイルとして扱い、再度プロンプトを表示する可能性があります。 *
方法2: Excel トラストセンター設定でマクロを有効にする
すべてのファイルでマクロを自動的に実行したい場合や、Excelがマクロをグローバルに処理する方法を微調整したい場合は、信頼センターでマクロの設定を変更することができます。 これを行うには、Excelオプションウィンドウから信頼センターを選択する必要があります。
使用するタイミング: マクロが有効なファイルを定期的に使用しており、黄色のバーが邪魔になっています。
ステップ:
- Excelを開きます(ファイルを開く必要はありません)。
-
左上隅にあるファイルをクリックします。
-
左パネルの下にあるOptionsをクリックします。
-
Excelオプションウィンドウで、左のサイドバーからトラストセンターを選択します。
-
右側にあるトラストセンターの設定…ボタンをクリックしてください。
-
Trust Centerウィンドウの左側パネルでマクロの設定をクリックします。
- 以下の4つのオプションのうち1つを選んでください(詳細は以下をご覧ください)。
- OKをクリックしてから、もう一度OKをクリックして両方のウィンドウを閉じます。
Excelの信頼センターには、コンピュータを安全に保つために使用されるセキュリティおよびプライバシー設定がすべて含まれています。
信頼センターでのマクロ設定の変更は、特に管理された環境ではリスクが伴うことがあります。 お使いのデバイスが職場や学校によって管理されている場合、システム管理者がマクロ設定の変更を誰にも許可しない可能性があります。
信頼センターでは、マクロの許可をケースバイケースで設定したり、ファイルを信頼されているドキュメントにしたり、Excelがマクロを処理する方法を制御し、許可されていないコードの実行を防ぐためにVBAプロジェクト オブジェクト モデルへの信頼アクセスを構成したりできます。
4つのマクロ設定の説明
|設定|何をするか|対象ユーザー| |---|---|---| |すべてのマクロを通知なしで無効にする|マクロは静かにブロックされ、黄色のバーは表示されません|高セキュリティ環境、共有/公共のコンピュータ| |すべてのマクロを通知付きで無効化(デフォルト)|黄色のバーが表示され、ファイルごとに決定が必要|ほとんどの日常ユーザー| |デジタル署名されたマクロ以外のすべてのマクロを無効にする|検証済みの発行者のみからのマクロを許可する|署名されたマクロツールを使用した企業環境| |すべてのマクロを有効化|すべてのマクロが自動的に実行され、プロンプトは表示されません|信頼できるファイルのみを開くパワーユーザー|
ほとんどのオフィスワーカーにとって、一つ一つのファイルで有効化操作が必要なデフォルト(通知付き無効化)の状態が最も安全です。
方法 3:フォルダを信頼済みの場所に追加する
特定のネットワークドライブやフォルダからマクロ対応ファイルを共有する場合、その場所からのファイルを常に信頼するようにExcelに設定できます。これにより、黄色のバーやプロンプトなしで、ただ開くことができます。
使用タイミング: チーム共有フォルダ(例:\CompanyServer\Reports\)にExcelテンプレートとマクロがある場合。
ステップ:
-
ファイル > オプション > 信頼センター > 信頼センターの設定…に移動します。 2. 左のパネルで信頼済みの場所をクリックします。
-
新しい場所を追加…をクリックし、参照をクリックしてフォルダを指定します。
-
サブフォルダも信頼する場合は、この場所のサブフォルダも信頼済みとするを選択します。
- OKを3回クリックします。

セキュリティノート: 本当に自分で管理しているフォルダだけを追加してください。 ダウンロードフォルダやデスクトップなどは追加しないでください。これらはフィッシングファイルの一般的な到着地点です。 *
方法 4:特定のファイルを信頼する(グローバル設定を変更せずに)
Excelは、クリックして"コンテンツを有効化"したファイルを信頼済みドキュメントとして記憶します。 しかし、ファイルを一旦クリアして再信頼する必要がある場合や、ファイルを手動で信頼リストに追加したい場合の手順はこちらです。
すべての信頼済みドキュメントをクリアする(すべてを再プロンプトする):
-
ファイル > オプション > 信頼センター > 信頼センターの設定…に移動します。 2. 信頼済みドキュメントをクリックします。
- すべてクリアをクリックします。
- OKをクリックします。
信頼すべきでないファイルを誤って信頼した場合や、新しいコンピュータをセットアップする場合に役立ちます。
方法 5:インターネットからダウンロードしたファイルをブロック解除する(Mark of the Web)
これが多くの人を混乱させる例外的なケースです。 インターネットからファイルをダウンロードすると、ブラウザとWindows自体がそれに見えない"Webのしるし"(MOTW)フラグを追加します。 このフラグは、マクロ設定がすべてのマクロを許可するように設定されている場合でも、ファイルを潜在的に危険であるとExcelが扱うように指示します。
この場合、黄色のバーが"保護されたビュー"と表示され、"マクロが無効になりました"ではないかもしれません。"コンテンツを有効化"をクリックしてもマクロがまだブロックされているままです。
修正方法:
- Excelでファイルを閉じます。
-
Windows ファイル エクスプローラーでファイルを探します(Excel内ではありません)。
- ファイルを右クリックし、プロパティを選択します。
-
一般タブの下部にある、"このファイルは他のコンピュータから来ており、コンピュータを保護するためにブロックされていることがあります。" 5をアンブロックするためのチェックボックスを探します>アンブロック**をチェックします。
- 適用をクリックし、次にOKをクリックします。
- Excelでファイルを再び開きます。
アンブロックチェックボックスが表示されない場合、ファイルはWindowsによってフラグされておらず、これが問題ではありません。 *
方法 6:リボンを使用して一度限りのセッションでマクロを有効にする
すでにファイルを開いていて黄色のバーが消えてしまった場合(たぶん誤って閉じた)、信頼センターの設定に入ることなくリボンからマクロを有効にすることができます。
ステップ:
-
ファイルタブをクリックします。
- ファイル名の下に"セキュリティ警告:マクロが無効にされました"と表示されている黄色のバナーが表示されます。 3. そのバナーでコンテンツを有効化をクリックします。
表示されない場合:
-
まだファイルタブに留まり、左側のパネルで情報をクリックします。
-
セキュリティ警告セクションにあるコンテンツを有効化ボタンを探します。
- コンテンツを有効化 > すべてのマクロを有効化をクリックして、一度限りのセッションで有効化します。 *
方法 7:開発者タブを介してマクロを永久に有効にする
Excelの開発者タブを使用すると、マクロコントロールに直接アクセスし、マクロの管理と自動化、例えばマクロレコーダー、VBAエディター、コントロールの挿入、アドインの管理、XMLファイルのインポート/エクスポートなどのオプションが提供されます。 マクロを定期的に使用する場合、このタブを有効にする価値があります。
ステップ 1:非表示の場合は開発者タブを表示する
-
リボン内の任意の場所を右クリックして、リボンのユーザー設定を選択し、開発者タブを有効にします。
-
右側の列で開発者を見つけ、そのチェックボックスをチェックします。
- OKをクリックします。
ステップ 2:開発者タブからマクロセキュリティを使用する
-
開発者タブをクリックします。
-
コードグループ内でマクロセキュリティをクリックします。
- 方法2で説明されているように設定を調整します。
方法 8:VBAエディターからマクロを有効にする
実行されないマクロをトラブルシューティングしている場合、VBAエディターを直接開いてプロジェクトレベルでのコンパイルエラーや信頼性の問題を確認できます。
ステップ:
-
Alt + F11を押してVisual Basic for Applications(VBA)エディターを開きます。
- 左のパネルにVBAプロジェクトツリーが表示されます。 モジュールやコードがグレーアウトまたはエラー表示されている場合、プロジェクトがロックされている可能性があります。
-
VBAエディターメニューでツール > マクロセキュリティに移動します。
- ここで、トラストセンターで利用可能なオプションと同様に、マクロ設定を変更してマクロを有効または無効にできます。
この方法はトラストセンター設定を回避するものではりません。マクロが実行されないときの問題の診断に役立ちます。
マクロによる自動タスク:何ができるか?
Excelでマクロを有効にすると、繰り返しのタスクを自動化し、ワークフローを合理化するための強力な方法が解放されます。 数回のクリックで、Excelにデータ入力や書式設定から複雑な計算やレポート生成までを扱わせ、手動作業を何時間も節約し、エラーのリスクを軽減します。
自動化されたタスクを開始するには、最初にExcelでマクロを有効にする必要があります。 これはトラストセンターの設定を通じて管理され、セキュリティニーズに合わせたマクロ設定を選択できます。 トラストセンターダイアログボックスでは、VBAマクロを有効にしたり、無効にしたり、デジタル署名済みのマクロのみを許可することで、Excelファイルで実行できるマクロの種類を管理できます。
マクロが有効になると、幅広いタスクを自動化できます。 例えば、月次レポートの書式設定を自動化したり、別のスプレッドシートからデータをインポートしたり、チームにサマリーメールを送信するマクロを作成することができます。 これらの自動タスクはワンクリックでトリガーされ、繰り返しのプロセスを効率的に扱うことが容易になります。
ワークフローをさらに簡素化するために、トラストセンターで信頼済みの場所を設定することを検討してください。 ネットワークドライブや特定のフォルダを信頼済み場所として追加することで、そこに保存されたExcelファイルのマクロは自動的に有効化され、"コンテンツを有効化"を毎回クリックする必要がなくなります。これは、マクロ対応のワークブックを中央フォルダから共有するチームに非常に便利です。
独自の自動化ソリューションを作成またはカスタマイズしたいユーザーには、Excelの開発者タブがVBAコードの作成と管理のためのツールへの直接アクセスを提供します。 ここから新しいマクロを記録し、既存のものを編集し、ニーズに合わせてマクロセキュリティ設定を調整することができます。 開発者タブの有効化は簡単です。ファイルタブに移動し、オプションを選択して、リボンをカスタマイズダイアログボックスで開発者オプションをチェックするだけです。
マクロは生産性を大きく向上させることができますが、セキュリティリスクには注意することが重要です。 信頼できるソースからのマクロのみを有効にし、追加の保護のためにデジタル署名済みマクロを使用することを検討してください。 未知または信頼できない場所からのファイルでのマクロの有効化は避けてください。潜在的に危険なコードを含んでいる可能性があります。
Excelでマクロを活用することで、繰り返しタスクを自動化し、一貫性を確保し、より戦略的な作業に時間を使うことができます。 レポートのフォーマット、データのインポート、カスタムワークフローの構築など、マクロを有効にし、適切なトラストセンター設定を使用することで、Excelの体験を最大限に活用することができます。 より詳細な手順やサポートについては、このガイドに提供されているリソースを参照してください。
よくある問題とトラブルシューティング
"コンテンツを有効化"ボタンがまったく表示されない
最も可能性の高い原因: IT部門がグループポリシーを強制し、通知なしで全てのマクロをブロックしています。 "通知なしで全てのマクロを無効化する"設定は通常、企業のITによってプッシュされます。
解決策: ITのヘルプデスクに問い合わせてください。 特定のファイルやフォルダの例外を作成してもらうか、信頼できる発行者からのマクロをホワイトリスト化する必要があります。
マクロが有効化されているのにファイルが動作しない
確認すべきこと:
- マクロが存在しないファイルパスを参照している(例:C:\OldServer\data.csv)。
- マクロがインストールされていない特定のExcelアドインを必要としている。
- VBAエディタを開いて(Alt + F11)、コード上の赤いエラー指示がないか確認する。
ファイルを開くたびに黄色のバーが表示される
最も可能性の高い原因: ファイルがネットワークドライブや同期フォルダ(OneDrive、SharePoint、Teams)から開かれており、Excelが信頼済みドキュメントをローカルパスと同じ方法で記憶していない。
修正: ネットワークフォルダを信頼済みの場所に追加する(方法3参照)、またはローカルコピーを保存し、マクロを有効にしてそのコピーから作業する。
マクロが有効化されているが遅い、またはハングしているように見える
これは信頼または権限の問題ではなく、パフォーマンスの問題です。 数千行をループする大きなマクロや、外部データソースと連携するマクロは遅く動作する場合があります。 Application.ScreenUpdating = False をマクロの開始時に追加し、終了時に Application.ScreenUpdating = True を追加して速度を上げます。
信頼できる同僚からのファイルです — それでもマクロを有効にする必要がありますか?
はい、たとえ信頼できる人から来てもです。Excelは誰がそれを送ったかではなく、ファイルの場所と検証されているかどうかしか知りません。 安全対策として、特にメール経由で届いた場合は、マクロが何をするか確認した後で有効化することが重要です。
"このプロジェクトのマクロは無効です"エラーメッセージ
これは通常、VBAプロジェクト自体がパスワードで保護されているか、デジタル署名の不一致がある場合に表示されます。 ファイル所有者である場合、VBAエディタを開き、ツール > VBAプロジェクトのプロパティ > 保護タブに移動し、パスワードが適用されているかどうか確認します。 *
Excelバージョンについての注意
上記の手順はMicrosoft 365のExcel、Excel 2019、Excel 2021、Excel 2016に適用されます。 トラストセンターのレイアウトと正確なボタンラベルはこれらのバージョン間でほぼ同一です。
MacのExcel: トラストセンターパスは少し異なります。 Excel > 設定 > セキュリティに移動してマクロ設定を見つけます。 "コンテンツを有効化"黄色のバーは同じ方法で表示されます。
Excel Online(ブラウザ): Excel Onlineではマクロはサポートされていません。マクロ付きファイルは読み取り専用モードで開かれ、マクロが無効化されているという注意書きが表示されます。 マクロを実行するにはデスクトップアプリが必要です。
モバイルのExcel(iOS/Android): モバイルではマクロを実行できません。これはプラットフォームの制限であり、設定の問題ではありません。 *
開発者向け: IronXLを使用したプログラムによるExcelマクロの操作
UIを介して手動でマクロを有効にするのではなく、Excelファイルを生成、読み取り、処理するアプリケーションを構築している開発者向けに、IronXLはC#や.NETでExcelを使用するためのプログラム手法を提供し、Excelのインストールを必要としません。
マクロを実行するには、ファイルをExcelマクロ対応ブック(.XLSMまたは.XLSB)形式で保存する必要があります。 IronXLは.XLSMファイル(マクロ対応ワークブック)を読み取り、データを抽出し、結果をExcel形式に書き戻すことができます。 VBAマクロをプログラムで実行するにはExcelのCOMインターオプレイヤーが必要ですが、IronXLはExcelファイル内のデータをスケールで処理し、値を読み、レポートを作成し、手動の介入無しでPDFにエクスポートする場合において最適な選択肢になることが多いです。
ここにマクロ対応のExcelワークブックからデータを読み取り、 処理された結果を書き戻す簡単な例があります:
using IronXL;
// Load a macro-enabled excel workbook
WorkBook workBook = WorkBook.Load("monthly-report.xlsm");
WorkSheet sheet = workBook.WorkSheets.First();
// Read values from the sheet
foreach (var row in sheet["A1:D100"])
{
Console.WriteLine(row.StringValue);
}
// Write processed output to a new Excel file
WorkBook output = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet resultSheet = output.CreateWorkSheet("Processed");
resultSheet["A1"].Value = "Processing complete";
output.SaveAs("output.xlsx");
using IronXL;
// Load a macro-enabled excel workbook
WorkBook workBook = WorkBook.Load("monthly-report.xlsm");
WorkSheet sheet = workBook.WorkSheets.First();
// Read values from the sheet
foreach (var row in sheet["A1:D100"])
{
Console.WriteLine(row.StringValue);
}
// Write processed output to a new Excel file
WorkBook output = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet resultSheet = output.CreateWorkSheet("Processed");
resultSheet["A1"].Value = "Processing complete";
output.SaveAs("output.xlsx");
Imports IronXL
' Load a macro-enabled excel workbook
Dim workBook As WorkBook = WorkBook.Load("monthly-report.xlsm")
Dim sheet As WorkSheet = workBook.WorkSheets.First()
' Read values from the sheet
For Each row In sheet("A1:D100")
Console.WriteLine(row.StringValue)
Next
' Write processed output to a new Excel file
Dim output As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim resultSheet As WorkSheet = output.CreateWorkSheet("Processed")
resultSheet("A1").Value = "Processing complete"
output.SaveAs("output.xlsx")
IronXLは、フォーマット、数式、セル範囲、マルチシートワークブックをExcelがインストールされていないサーバーで扱うため、 自動レポートパイプライン、ウェブアプリケーション、バックエンドデータ処理に非常に適しています。
まとめ: どの方法を使用すべきですか?
|お客様の状況|最適な方法| |---|---| |ファイルを開いたときに黄色のバーが表示された|方法1: コンテンツを有効化をクリックする| |私は毎日マクロファイルを開き、プロンプトが表示されないようにしたい|方法2: 信頼センター→ すべてのマクロを有効化| |私のチームは1つのネットワークフォルダからファイルを共有している|方法3: 信頼済みの場所を追加する| |ダウンロードしたファイルがマクロをブロックし続ける|方法5: Windowsプロパティを経由してブロック解除| |ITが私の設定を管理しており、変更できない|ITヘルプデスクに連絡する| |.NETアプリを構築する中で、Excelファイルを処理する|IronXL(開発者セクション参照)|
Excelでマクロを有効にすることは通常ワンクリックで済みます。 黄色の"コンテンツを有効化"バーは、お使いの許可を求めるMicrosoftの方法であり、信頼できるファイルに対してクリックし、未知のソースからのファイルにはブロックされたままにします。 何かより永続的なものに対しては、信頼センターがシステム全体でExcelがマクロ対応ファイルをどのように扱うかについて、完全な制御を提供します。




