メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

Microsoft Office Excel では、ワークシートまたはブックの "背後" に含まれている Microsoft Visual Basic for Application (VBA) マクロ コードが正しく動作しない可能性があります。

原因

これは、次の条件の両方が当てはまる場合に発生します。

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

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

回避策 

自動的に実行されるサブルーチンを Microsoft Excel で正しく動作させるには、Visual Basic モジュール内にサブルーチンを含める必要があります。

Visual Basic モジュールをブックに挿入し、新しいモジュールにコードを配置する必要があります。

Visual Basic モジュールを挿入するには:

  1. Visual Basic エディターの Project エクスプローラーで、問題のコードを含むブックをアクティブにします。

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

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

詳細情報

Excel では、VBA コードは、Visual Basic モジュール、Visual Basic クラス モジュール、および "ビハインド" ワークシートとブックの 3 つの異なる場所に格納できます。

ワークシートまたはブックの背後にあるコードを編集するには:

  1. Visual Basic エディターをアクティブにします (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 の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

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

×