← コード一覧へ戻る
実務ブック

他のブックのマクロを実行する

既に開いている別ブックの公開マクロを実行します。

実行前に確認

  • 呼出先ブックの名前とマクロ名を一致させます。信頼できるマクロのみ実行します。

1サンプルコード

Sub Sample3056()
    Application.Run "'呼出先.xlsm'!挨拶"
End Sub

図で見る操作の流れ

イメージ図

コードの動きを表した概念図です。実際のExcel画面ではありません。

  1. 手動:呼出先を用意

    呼出先.xlsmにPublic Sub 挨拶を作り、開いておく

  2. マクロ:別ブックへ呼出し

    Application.Runで「呼出先.xlsm」の「挨拶」を実行する

  3. 結果:呼出先の処理

    手順の例では「こんにちは」と表示される

呼出先のブック名・マクロ名を一致させます。呼出先を自動で開くコードではありません。信頼できるマクロだけを使います。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。「呼出先.xlsm」の標準モジュールに「Public Sub 挨拶()」「MsgBox "こんにちは"」「End Sub」を別々の行で作り保存します。そのブックを開いたまま、呼出元.xlsmの標準モジュールに本コードを貼ります。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。

  3. 3

    Sample3056内にカーソルを置いてF5で実行します。既に開いている別ブックの公開マクロを実行します。

使っている機能の公式ドキュメント(Microsoft Learn)