マクロの実行が終わったら自動的に次のマクロの実行に移りたいが?

Question 054k 拙著「組み方講座」 Previous Next
308ページ  ◆ 環境・・ Excel 97
詳細は こちら
(状況) 「プロシージャが長過ぎて実行できません」というメッセージが出てしまいました。実際かなり長いプロシージャを書いてしまったため実行できません。
(質問)
従って、そのプロシージャを
2つに分割して2つのマクロにしましたが、その2つのマクロを連続して実行させる方法がわかりません。
1番目のマクロを手動で実行させれば、そのマクロの実行が終わり次第自動的に2番目のマクロの実行に移る方法をご教示願いたいのですが?
本書の目次や巻末を見ても、どうしても該当部分が見つかりませんでした。加えて該当ページあれば教えて頂ければ幸いです。

なお、本書以外に技術評論社の「EXCEL VBA 実践プログラミング、足利谷毅著」も所有しておりますが、その本からも該当部分見つかりませんでした。
おそらく小生の探し方が悪いのではないかと思いますが、どうしても見つかりません。 宜しくお願い致します。
Answer   Copyright (C) 2005.8.2 永井善王
「マクロの実行が終わったら自動的に次のマクロの実行に移る方法」を知りたくて、拙著「ExcelVBAマクロ組み方講座」なら載っているだろうと見込んで、ご購入いただいたのでしょうか。 ありがとうございます。

308ページに、「ほかのブックにあるマクロを実行するボタン・コード」と題する解説があります。
これは、第4章1「マクロの自動運転」の「三つのブックのマクロを連係プレーさせて請求書を作成する」という学習の一部分です。
あなたが知りたいことだけをズバリ取り上げている訳ではないので、見つけにくかったでしょうね。本に沿って学習できれば気付くことができるかと思いますが、なかなか時間が取れないでしょうし。

ご質問文には「
2つに分割して2つのマクロにしました」とありますが、同一ブック内で2つに分割したのか、2つ目のマクロを別のブックに保存したのかが明らかではありません。 ここでは一応、別のブックということで回答します。
いろいろな方法がありますが、その内から2つご紹介します。取捨選択してください。

Auto_Openプロシージャを利用する方法
2つ目のブックの標準モジュールにAuto_Openプロシージャを作成し、その中に、分割した2つ目のマクロを実行するためのコードを記述して上書き保存する。 (詳細は本書276ページ参照)
school
Sub Auto_Open()
    分割した2つ目のマクロの名前
End Sub
そして、1つ目のマクロの末尾に、2つ目のブックを開くコードを記述しておくと、Auto_Openプロシージャが自動的に実行されるようになる。

ほかのブックにあるマクロを実行する方法
1つ目のマクロの末尾に、2つ目のブックにあるマクロを実行するためのコードを下記のように記述する。 (Runメソッドについては本書309ページ参照)
    Application.Run "2つめのブック名.xls!分割した2つ目のマクロの名前"
2つめのブックは先に開いておく必要があります。 では、成功を祈ります。

 

Excel VBA Macro