ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.008

別のブックにマクロをコピーしたい

2003/2007/2010/2013

マクロを別のブックにコピーするには、Visual Basic Editor(以下VBE)で行います。
なるべく初心者の方でもわかりやすい手順でご案内します。

今回、コピー元のマクロを持つブック Book1.xlsm と、マクロコピー先のブック Book2.xlsx とで行います。

  1. コピー元のマクロを持つブックと、コピーしたいブックを両方開きます。
  2. コピー元のマクロを持つブックをアクティブにしておきましょう。(任意)
  3. ショートカット キー「Alt」+「F8」、または[開発]タブ-[コード]グループ-[マクロ]ボタン、もしくは[表示]タブ-[マクロ]グループ-[マクロの表示]ボタンをクリックします。
  4. 表示された[マクロ]ダイアログ ボックスでコピー元のマクロを選択し、[編集]ボタンをクリックします。
    マクロダイアログ ボックス
  5. 表示された Visual Basic Editor(以下VBE) には、右側に今回コピーするマクロのコードが表示され、左上の階層構造(プロジェクト エクスプローラー)には、[標準モジュール]フォルダー配下にうっすらグレーに選択されているモジュールを確認します。これがコピー元のマクロです。
    (VBEのタイトル バーの最後に表示されているものと同じ)
    コピー元マクロ
  6. 階層構造では、「VBAProject」の次のかっこ内にブック名が表示されています。
    そこにコピー元とコピー先の2つのブック名が縦に並んでいるのを確認します。
    このとき上下の順番は問題ありません。
    VBAProject確認
  7. 手順5で確認した、グレーのモジュールを、コピー先ブックの方にドラッグします。
    このときドラッグの場所はコピー先ブック配下であればどこでも構いません。
    マクロダイアログ ボックス
  8. コピー先ブックの階層の[標準モジュール]フォルダー配下に同じモジュールがコピーされたことを確認します。
    同じ名前のモジュールがコピー先ブックに存在した場合、同じ名前の後に「1」が付いた名前となります。
    確認後VBEはそのまま閉じます。
  9. Excelに戻りましたら、コピー先ブックで[名前を付けて保存]を行い、ファイルの種類をマクロ有効ブックにして保存します。

少し長い手順となりましたが、操作は簡単VBEを開いてドラッグするだけです。
VBEに慣れていない方は、ゆっくり操作してください。

関連ヘルプ

マクロ記録で可変のデータ範囲を取得するには
ワークシートにボタンを作成し、マクロを割り当てて実行できるようにしたい
マクロ記録の絶対参照と相対参照とは
マクロのセキュリティ警告メッセージを表示させたくない
作成済みのマクロに、後からショートカット キーを割り当てるには
マクロは削除したのに開くときにセキュリティ警告が表示される、マクロの完全削除
マクロ記録はどこに記録されているのか
マクロ記録でできること、できないこと