ExcelマクロVBA入門 | 第127回.他のブックのマクロを実行(Runメソッド) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2014-11-26

第127回.他のブックのマクロを実行(Runメソッド)


他のブック中にあるプロシージャー(Sub,Function)を実行する場合は、Application.Runメソッドを使います。

Runメソッド

Application.Run(Macro, Arg1, Arg2, Arg3, ・・・, Arg30)

Macro オプション 実行するマクロを指定します。


他ブックのマクロの場合は、
ブック名!プロシージャー名

と指定します。
Arg1-Arg30 オプション 関数に渡す引数を指定します。


このメソッドの引数では、名前付き引数は使用できません。

Run メソッドは、呼び出したマクロが返す値をそのまま返します。

使用例.

Book1.xls

Sub test1(arg1 As String)
  MsgBox arg1
End Sub


Book2.xls

Sub test2()
  Call Application.Run("Book1.xls!test1", "ブック間のマクロテスト")
  'または
  Application.Run "Book1.xls!test1", "ブック間のマクロテスト"
End Sub



本来は、このようなブック間でプロシージャーを起動することは、あまり望ましい状態ではありません。

ブックの依存関係をしっかり設計すれば、このような状態はほとんど避けられるはずです。

しかし、後から追加していく形でシステムを拡張していくと、どうしてもこのような手段が必要になることもあります。

そのような時のためにも、一応は抑えておきたい機能になります。




同じテーマ「ExcelマクロVBA入門」の記事

第128回.マクロをショートカットで起動(OnKeyメソッド)
第1回.マクロって何?VBAって何?
第2回.まずはマクロVBAを使う準備
第3回.マクロの記録
第4回.マクロはどこに書くの(VBEの起動)
第5回.VBEのオプション設定(Option Explicit)
第6回.とにかく書いて見よう(Sub,End Sub)

新着記事 ・・・新着記事一覧を見る

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.定数と型宣言文字(Const)|ExcelマクロVBA入門
8.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • 他のブックのマクロを実行(Runメソッド)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP