マクロ モジュールを別のブックにコピーする

適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac

ブックに Visual Basic for Applications (VBA) マクロが含まれていて、他の場所で使用したい場合は、Visual Basic Editor (VBE) を使って、そのマクロを含むモジュールを別の開いているブックにコピーできます。

Excel 2021 以降では、セキュリティ上の理由からマクロは既定で無効になっています。 Excel のマクロ セキュリティ設定の変更が必要な場合があります。Excel のマクロ セキュリティ設定は 、実行する前に変更します。

マクロと VBA ツールは [ Developer] タブにあります。このタブは既定で非表示になっているため、最初の手順として有効にします。

  • Windows の場合は、[ファイル>オプション]>リボンのカスタマイズ に移動します。
  • Mac の場合は、[Excel>環境設定]...> の順に移動します。ツール バー & リボン
  • 次に、[リボンのユーザー設定] セクションの [メイン タブ] で、[開発者チェック] ボックスチェックます。

マクロおよび VBA の概要

マクロと VBA に慣れていない場合は、次の情報が作業を開始するのに役立ちます。

  • マクロは、タスクを自動化するために使用できる 1 つまたは複数の操作です。

  • マクロを記録するには、[開発者] タブの [マクロの記録] コマンドを使用します。

  • マクロは VBA プログラミング言語で記録されます。

  • Excel で開くウィンドウである Visual Basic Editor で、マクロの検査と編集を行うことができます。 Windows の VBE ウィンドウの例を次に示します。

    Book1 の Module1 に保存された 2 つのマクロを含むモジュール。

MakeCellGreenSetRowHeight という名前のマクロは、Book1 に格納されている Module1 という名前のモジュールにあります。

ブックの保存時にマクロを保持するには、.xlsm や .xlsb などのマクロが有効なファイル形式を使用します。 Standard .xlsx ファイルにはマクロは保存されません。

1 つのブックから別のブックにモジュールをコピーする

  1. コピーするマクロを含むブックとコピー先のブックの両方を開きます (マクロが有効になっている)。

  2. [ 開発 ] タブで Visual Basic を選択して、 Visual Basic Editor を開きます。

  3. Visual Basic Editor の [表示] メニューで、[プロジェクト エクスプローラー] を選択します プロジェクト エクスプローラー ボタンの画像。 をクリックするか、Ctrl+R キーを押します。

  4. プロジェクト エクスプローラー ウィンドウで、コピーするマクロを含むモジュールをコピー先のブックにドラッグします。 この場合、Module1 を Book2.xlsm から Book1.xlsm にコピーしています。
    VBAProject Book1.xlsm および VBAProject Book2.xlsm のプロジェクト ツリーを示す VBA プロジェクト エクスプローラー ウィンドウ。番号 1 は Book2.xlsm Modules フォルダーの下の Module1 をマークし、番号 2 は Book1.xlsm の下の Modules フォルダーをマークし、モジュールをドラッグしてコピーする場所を示します。

  1. Module1 は Book2.xlsm からコピーされました
  2. Module1 のコピーが Book1.xlsm にコピーされました

  • マクロが無効になっている場合、コピーされたモジュールはコピー先のブックに表示されますが、マクロが有効になるまでは実行されません。
  • 管理環境では、IT ポリシーが原因でマクロまたは VBA 機能の実行が妨げられる場合があります。
  • アクセス許可、セキュリティ設定、またはブロックされたマクロ コンテンツによって、ブック間でのモジュールのコピーを妨げる場合があります。

補足説明

Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。