Excelに含まれているVBAプログラミング言語を使用すると、非常に強力なマクロを作成できます。ワークブック用にいくつかのマクロを記録することは珍しくありません。各マクロは、簡単な小さなタスクを実行するように設計されています。マクロを作成すると、Excelは_module_と呼ばれるものをブックに追加します。このモジュールは、記録または作成するマクロを格納するために使用されます。

マクロを含むブックを開くたびに、Excelでマクロを有効にするかどうかを尋ねられることがあります。これは、Excelに組み込まれているセキュリティシステムの一部です。 (このシステムは私のベーコンを複数回保存しました。)ブック内のすべてのマクロを削除しても、後でブックを開いたときにマクロを有効にするかどうかを尋ねるメッセージが表示されることにも気付いたかもしれません。

なぜExcelがこれを行うのでしょうか?結局のところ、ブック内のすべてのマクロを削除しましたね。その理由は、マクロを保持するためにExcelによって自動的に作成されたモジュールは、最後のマクロを削除しても自動的に削除されないためです。それはまだ存在しています。モジュールがそこにある限り、ブックをロードするたびに、Excelはマクロを有効にするかどうかを忠実に尋ねます。

この問題を克服する(そしてこの特定のブックのマクロプロンプトを取り除く)には、次の手順に従います。

。 Alt + F11を押して、Visual BasicEditorを表示します。

。エディタの左上近くには、プロジェクトエクスプローラがあります。これには、ワークブック内のさまざまなモジュールを示す階層ツリーが含まれています。プロジェクトエクスプローラーが画面に表示されていない場合は、Ctrl + Rを押して表示します。

。プロジェクトエクスプローラー内には、Modulesというフォルダーがあります。まだ開いていない場合は、Modulesフォルダーをダブルクリックして内容を表示します。

。フォルダ内のモジュールを右クリックします。コンテキストメニューが表示されます。

。 [コンテキスト]メニューから[削除]オプションを選択します。モジュールを削除する前に、モジュールをエクスポートするかどうかを尋ねられます。

。 [いいえ]ボタンをクリックします。モジュールが削除されます。

。 Modulesフォルダー内のモジュールごとに手順5〜7を繰り返します。

。 Visual BasicEditorを閉じます。

。ブックを再保存します。

この時点で、ワークブックにはモジュールが含まれておらず、後で開いたときに通知を受け取ることはありません。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2587)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。