すぐに役立つエクセルVBAマクロ集 - すぐマク
Excel VBA Macro
FAQ
検索用語を入力
検索フォームを送信
Web
サイト内
Home
|
What's New!
|
Gallery
|
Introduction
|
Service
|
Profile
500連発・組み方講座フォロー
Big
Color
Pallet
[広告]
Excel VBA Macro
● 開始終了
● ブックシート
● 画面制御
● 行列操作
● セル制御
● 範囲選択
● クリア
● 値の操作
● コピー
● メッセージ
● 印刷
● コントロール 1
● コントロール 2
● フロー制御
● その他
● サンプル
● 関数など
● 引数・定数など
Excel DownLoad
● フリーウェア
● Excel Macro分
● Excel FAQ分
© 1997 - 2007
Yoshioh Nagai.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ 開始終了 ・ FAQ
マクロの実行が終わったら自動的に次のマクロの実行に移りたいが?
Question
054k 開始終了
拙著「組み方講座」
308ページ ◆ 環境・・ Excel 97
(状況) 「プロシージャが長過ぎて実行できません」というメッセージが出てしまいました。実際かなり長いプロシージャを書いてしまったため実行できません。
(質問)
従って、そのプロシージャを
2つに分割して2つのマクロにしました
が、その2つのマクロを連続して実行させる方法がわかりません。
1番目のマクロを手動で実行させれば、そのマクロの実行が終わり次第自動的に2番目のマクロの実行に移る方法をご教示願いたいのですが?
本書の目次や巻末を見ても、どうしても該当部分が見つかりませんでした。加えて該当ページあれば教えて頂ければ幸いです。
なお、本書以外に技術評論社の「EXCEL VBA 実践プログラミング、足利谷毅著」も所有しておりますが、その本からも該当部分見つかりませんでした。
おそらく小生の探し方が悪いのではないかと思いますが、どうしても見つかりません。 宜しくお願い致します。
Answer
Copyright (C) 2005.8.2 Yoshioh Nagai
「マクロの実行が終わったら自動的に次のマクロの実行に移る方法」を知りたくて、拙著「ExcelVBAマクロ組み方講座」なら載っているだろうと見込んで、ご購入いただいたのでしょうか。 ありがとうございます。
308ページに、「ほかのブックにあるマクロを実行するボタン・コード」と題する解説があります。
これは、第4章1「マクロの自動運転」の「三つのブックのマクロを連係プレーさせて請求書を作成する」という学習の一部分です。
あなたが知りたいことだけをズバリ取り上げている訳ではないので、見つけにくかったでしょうね。本に沿って学習できれば気付くことができるかと思いますが、なかなか時間が取れないでしょうし。
ご質問文には「
2つに分割して2つのマクロにしました
」とありますが、同一ブック内で2つに分割したのか、2つ目のマクロを別のブックに保存したのかが明らかではありません。 ここでは一応、別のブックということで回答します。
いろいろな方法がありますが、その内から2つご紹介します。取捨選択してください。
Auto_Openプロシージャを利用する方法
2つ目のブックの標準モジュールにAuto_Openプロシージャを作成し、その中に、分割した2つ目のマクロを実行するためのコードを記述して上書き保存する。 (詳細は本書276ページ参照)
Sub Auto_Open() 分割した2つ目のマクロの名前 End Sub
そして、1つ目のマクロの末尾に、2つ目のブックを開くコードを記述しておくと、Auto_Openプロシージャが自動的に実行されるようになる。
ほかのブックにあるマクロを実行する方法
1つ目のマクロの末尾に、2つ目のブックにあるマクロを実行するためのコードを下記のように記述する。 (Runメソッドについては本書309ページ参照)
Application.Run "2つめのブック名.xls!分割した2つ目のマクロの名前"
2つめのブックは先に開いておく必要があります。 では、成功を祈ります。