Excelでマクロが実行できないときの対処法|3つの解決策を徹底解説
この記事では、名前(First Names)、姓(Last Names)、年齢(Ages)の3列からなる6人分のサンプルデータセットを用意しました。

次のVBAコードを使って、データセットからセルをコピーしたいと思います。
Sub Copy_Range()
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 4).Range("A1").Select
ActiveSheet.Paste
End Sub

キーボードのF5キーを押してコードを実行すると、「このExcelファイルではコードが無効になっています」という内容のエラーメッセージが表示されます。これは、ファイルのマクロが無効になっていることが原因です。以下では、この問題を解決するための具体的な手順を見ていきましょう。

解決策1:特定のブックだけでマクロを有効にする
ケース1.1:セキュリティ警告から有効化する
- ブックを開くと、数式バーの上部にセキュリティ警告(Security Warning)が表示されます。
- コンテンツの有効化(Enable Content)をクリックすると、マクロが有効になります。

- ファイルを開いている最中にVisual Basic Editorウィンドウが開いていた場合は、次のようなMicrosoft Excel セキュリティ通知が表示されます。
- マクロの有効化(Enable Macros)をクリックしてアクセスしてください。

ケース1.2:バックステージビューからマクロをオンにする
- ファイルタブを開きます。

- 情報(Info)をクリックします。

- セキュリティ警告の下にあるコンテンツの有効化を選択します。

ケース1.3:トラストセンターの設定を変更する
- ファイルタブからオプションを選択します。

- Excelのオプションダイアログボックスでトラストセンターを選択します。
- トラストセンターの設定ボタンをクリックします。

- トラストセンターダイアログボックス内のマクロの設定を開きます。
- 警告を表示してすべてのVBAマクロを無効にする(Disable VBA macros with notification)にチェックを入れます。

- 続けてActiveXの設定を開き、下の画像に示されているオプションを選択します。

- OKを2回押して、すべてのダイアログボックスを閉じます。
ケース1.4:信頼できるドキュメントとして登録する
- ファイルタブからオプションを選択します。
- Excelのオプションウィンドウのトラストセンタータブからトラストセンターの設定を開きます。

- 信頼できるドキュメント(Trusted Documents)セクションで、ネットワーク上のドキュメントを信頼する(Allow documents on a network to be trusted)オプションにチェックを入れます。

- OKを2回押します。
- この設定を元に戻したい場合は、信頼できるドキュメントタブ内のクリア(Clear)をクリックしてウィンドウを閉じてください。

解決策2:すべてのブックでマクロを恒久的に許可する
ケース2.1:トラストセンターで設定を変更する
- ファイルを選択し、オプションを開きます。

- トラストセンターを選択し、トラストセンターの設定へ進みます。

- マクロの設定タブを開きます。
- VBAマクロを有効にする(Enable VBA macros)オプションにチェックを入れます。

- OKを2回押して、すべてのウィンドウを閉じます。
関連記事:[解決済み] Excelのマクロ設定がグレーアウトして選択できない場合の対処法
ケース2.2:信頼できる場所を作成する
- ファイルを選択し、オプションを開きます。
- Excelのオプションウィンドウからトラストセンターの設定へ進みます。
- トラストセンターウィンドウ内の信頼できる場所(Trusted Location)セクションを開きます。
- 新しい場所を追加(Add new location)をクリックします。

- パス(Path)欄にフォルダを指定します。

- 説明(Description)ボックスに説明文を入力しておくと、信頼対象のファイルを後から簡単に識別できます。

- サブフォルダがある場合は、この場所のサブフォルダも信頼する(Subfolders of this location are also trusted)オプションにチェックを入れます。

- OKを2回押して、すべてのウィンドウを閉じます。
- 必要なだけフォルダを追加できます。これらのフォルダ内に保存されたExcelファイルは、自動的にマクロが有効な状態になります。
解決策3:現在のセッション限定でマクロを有効にする
- ファイルタブを開きます。
- 情報(Info)セクションへ進みます。
- セキュリティ警告の中にある詳細オプション(Advanced Options)を選択します。

- このセッションでのみコンテンツを有効にする(Enable content for this session)というオプションを選択します。

- OKを押すと、Excelを閉じるまでの間だけマクロを実行できるようになります。設定は永続化されないため、安全性の高い一時的な方法です。
Excelでマクロを無効にする方法
- ファイルを選択し、オプションを開きます。
- トラストセンターを選択し、トラストセンターの設定へ進みます。
- マクロの設定を開きます。
- 通知せずにすべてのVBAマクロを無効にする(Disable VBA macros without notification)オプションを選択します。

- OKを押して完了です。
注意点
- VBAコードを使用するには、Excelファイルをマクロ有効ブック(Macro-Enabled Workbook / .xlsm形式)として保存する必要があります。通常の.xlsx形式ではマクロが保存されません。
- トラストセンターウィンドウですべてのマクロを有効にするを選択するのは避けましょう。出所が不明なファイルの場合、悪意のあるコード(マルウェア)を実行してしまう危険性があります。ダウンロード元が信頼できる場合のみ許可してください。
練習用ワークブックのダウンロード
関連記事
- [修正済み] マクロが有効になっているのに動作しない場合の対処法
- [修正済み] Excelでマクロを有効にできないときの解決策
- [解決法] 非表示のワークブックではマクロを編集できませんと表示される場合
- Excelのマクロセキュリティについて知っておくべきこと
-
知っておくと便利すぎる!Office 365の隠れた機能7選
Microsoft Office 365は、Windows環境で最も生産性の高いサービスの一つです。ドキュメントの作成からPowerPointでのプレゼン資料のデザインまで、私たちの仕事や学習に欠かせない存在となっています。WordやExcelなど、誰もが一度はOfficeアプリにお世話になったことがあるのではないでしょうか。 そこで本記事では、Office 365を最大限に活用するための「隠れた便利機能」を厳選してご紹介します。 さっそく、Office 365の知られざる機能の世界を見ていきましょう! 1. PowerPoint デザイナー 学校や職場でPowerPointの資料作りに苦労
-
Microsoft TeamsのエラーコードCAA301F7を解決する3つの方法
Microsoft Teamsは、他の多くのビデオ通話・オンライン会議アプリと同様に、近年利用が急拡大しています。しかし、他のビデオ通話アプリと同じように、さまざまなトラブルに悩まされることも少なくありません。一部のMicrosoft Teamsユーザーからは、アカウントにログインしようとすると「CAA301F7」というエラーが表示されるという報告があります。本記事では、Microsoft TeamsのエラーコードCAA301F7を解決する方法を詳しく解説します。 Microsoft TeamsのエラーコードCAA301F7とは エラーコードCAA301F7は、主にログイン時に発生する認証関連