Excel で、ワークシートまたはブックに "背面" という VBA コードが機能しない場合がある

この記事の Microsoft Excel 97 バージョンについては、「 157346」を参照してください。この記事の Microsoft Excel 98 バージョンについては、「 182482」を参照してください。

現象

Microsoft Office Excel では、ワークシートまたはブックの "背後" に含まれるマクロコードが正しく動作しないことがあります。

原因

この問題は、次の両方の条件が満たされた場合に発生します。

  • 問題のコードは、 Auto_Open や Auto_Close サブルーチンなど、自動的に実行されるサブルーチン内に含まれています。

  • このコードは、Visual Basic モジュールには含まれていませんが、ワークシートまたはブック自体の背後にあります。

回避策

Microsoft Excel で自動的に実行されるサブルーチンを使用するには、Visual Basic モジュール内に含まれている必要があります。Visual Basic モジュールをブックに挿入してから、新しいモジュールにコードを配置する必要があります。Visual Basic モジュールを挿入するには、次の操作を行います。

  1. Visual Basic Editor の プロジェクトエクスプローラー で、問題のコードが含まれているブックをアクティブにします。

  2. [挿入] メニューの [標準モジュール] をクリックします。

新しいモジュールが挿入されたら、元の場所からコードを切り取り、Visual Basic モジュールに貼り付けます。 次に、ブックを保存します。

詳細情報

Excel では、VBA コードを3つの異なる場所 (Visual Basic モジュール、Visual Basic クラスモジュール、および "背後" のワークシートとブック) に保存することができます。ワークシートまたはブックを編集するには、次の操作を行います。

  1. Visual Basic Editor をアクティブにします (ALT キーを押しながら F11 キーを押します)。

  2. [ プロジェクトエクスプローラー ] ウィンドウには、次のようなエントリが表示されます。

         VBAProject (Book1)         Microsoft Excel Objects            Sheet1 (Sheet1)            Sheet2 (Sheet2)            Sheet3 (Sheet3)            ThisWorkbook                  Modules             Module1 

いずれかのワークシート名または ThisWorkbookをダブルクリックした場合は、コードウィンドウにコードを入力できます。 Visual Basic モジュール内に含まれていないコードは、ワークシートまたはThisWorkbook に "背後" と見なされます。 Auto_Open、 Auto_Close、またはその他の 自動実行さ れるサブルーチンが "背面" のワークシートまたは ThisWorkbookに保存されている場合は、ブックを開いたり閉じたりしたとき、またはサブルーチンを実行する必要がある操作を実行したときに、正しく動作しない可能性があります。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×