- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで2つのプロシージャーをつなげるには)
VBAで2つのプロシージャーをつなげる方法
このQ&Aのポイント
- VBAでSub ~ End Subまで書き終えて、一つのプロシジャーを完成させたあと、その下にもう一つのプロシジャーを作り、連続してマクロを動かす方法について教えてください。
- 2つのマクロをつなげて1つの実行可能なマクロにする方法について教えてください。
- 上のマクロと下のマクロが別々に表示されてしまう問題を解決するための方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、VBAの基本ルールを理解してください。 Sub~End Subまでがひとつのプロシージャです。 End Sub のあとにSubがあればSubからは新しいプロシージャになってしまいます。 これはどんに状況でも【絶対】です。 だから、貴方が記述したサンプルコードだとtest()とsample()が独立して当たり前。 この2つを連続して実行したければ#1さんの回答もひとつの方法ですが次のようなことも可能です。 Sub Exsample() Call test() Call sample() End Sub こういう作りにしておけばtest()とsample()というプロシージャを別の目的で独立させて実行することが可能になります。 そういう利用用途が全くないのならプロシージャに分ける必然性なんてないんですけどね。
その他の回答 (1)
- 11zep
- ベストアンサー率36% (48/133)
回答No.1
サブプロシージャから別のサブプロシージャを呼び出せばいいと思います。 Sub test() 省略 Call sample End Sub >どうしても実行時に上のマクロと下のマクロが別々に表示されてしまします。 Private Sub sample() 上の様に修正すれば実行時に表示されないと思います。 Excel2007で試してみました。 参考になれば幸いです。
質問者
お礼
ありがとうございます<m(__)m> bardfishさんのご回答とともに参考にさせて頂きました。
お礼
とても分かりやすいご回答ありがとうございます。 Callなら聞いたことがありますので、なんとなくできそうです。 ありがとうございました<m(__)m>