Excel VBAを使い始めた時「複数のマクロをどうやってまとめて実行すればよいのか?」と悩んだ事はありませんか?
通常何かの処理を行う際は1つの処理だけでなく、複数の処理を組み合わせる事が多いですよね。
しかし複数のマクロを1つずつ手動で実行していくのは手間がかかりますし、1つのマクロに全ての処理を詰め込んでしまうと後からコードを確認するのがとても大変になります。
確かに全ての処理順を覚えたり、長々としたコードを後で確認するのは面倒ですよね……。
そこで本記事ではそうした手動で実行する手間を省き、複数のマクロを簡単に連続実行する方法をわかりやすく解説していきます!
やり方はとてもシンプルでいろんな処理に応用できるので、ぜひ覚えておきましょう!
- 一度に複数のマクロを連続して実行する簡単なテクニック
- マクロを後から見返した時に分かりやすい形でまとめる方法
一度に複数マクロを連続実行するテクニック
一度に複数マクロを連続実行する場合、他のマクロを呼び出す為に使用される「call」ステートメントを使ってマクロ内に他のマクロを呼び出しまとめる事で実行できます。
構文:[call] name [argumentlist]
要素 | 内容 |
---|---|
call | 他のマクロ又は関数を呼び出す為に使用、省略可 |
name | 呼び出すマクロ又は関数の名称、省略不可 |
argumentlist | 呼び出したマクロ又は関数へ渡す引数、省略可 |
次の項目からこのcallを使ったマクロの呼び出し方について2つの具体例を挙げていきますので処理の用途によってそれぞれ使い分けてみて下さい!
callステートメントを使った複数マクロを連続実行する具体例
この項目では次の2つの具体例を挙げて解説していきます。
- 1つのマクロ内に複数のマクロを呼び出して実行する
- 各マクロの最後に別のマクロを呼び出して連続実行する
1つのマクロ内に複数のマクロを呼び出して実行する
この方法は日常的な作業や定型的な処理を行う時に向いており、次の様に複数マクロをまとめます。
シンプルな形で分かりやすい!
連続した処理を簡単に実行・管理しやすい方法なのでExcel VBA初心者にはおススメです。
各マクロの最後に別のマクロを呼び出して連続実行する
この方法は実行する処理に順序や依存関係がある場合に向いており次の様に書きます。
1つのマクロにまとめた時よりも処理の順序や依存関係を細かく調整する必要があるものの、複数マクロを個別に管理できるといったメリットがあります。
終わりに
以上で今回の解説を終了します。
複数のマクロはcallステートメントで呼び出し、下記の様に記述方法を少し工夫するだけで簡単に連続で実行できます。
- 簡単で一度に複数の処理を実行したい場合は「1つのマクロ内に他のマクロ呼び出して実行」
- 処理に依存関係や条件を設定する場合は「各マクロの最後に別のマクロを呼び出して連続実行」
使う場面によって実行できる方法を選ぶ事がポイントとなるので、今回解説した具体例と自分が実行したい処理がどういった処理なのかを一度見比べてみて下さい!