他のブックのマクロを実行する
既に開いている別ブックの公開マクロを実行します。
実行前に確認
- 呼出先ブックの名前とマクロ名を一致させます。信頼できるマクロのみ実行します。
1サンプルコード
Sub Sample3056()
Application.Run "'呼出先.xlsm'!挨拶"
End Sub図で見る操作の流れ
イメージ図コードの動きを表した概念図です。実際のExcel画面ではありません。
手動:呼出先を用意
呼出先.xlsmにPublic Sub 挨拶を作り、開いておく
マクロ:別ブックへ呼出し
Application.Runで「呼出先.xlsm」の「挨拶」を実行する
結果:呼出先の処理
手順の例では「こんにちは」と表示される
呼出先のブック名・マクロ名を一致させます。呼出先を自動で開くコードではありません。信頼できるマクロだけを使います。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
- 1
練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。「呼出先.xlsm」の標準モジュールに「Public Sub 挨拶()」「MsgBox "こんにちは"」「End Sub」を別々の行で作り保存します。そのブックを開いたまま、呼出元.xlsmの標準モジュールに本コードを貼ります。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。
- 3
Sample3056内にカーソルを置いてF5で実行します。既に開いている別ブックの公開マクロを実行します。