変数を宣言して、ループ処理を使いこなせるようになってきたあたりで、配列を覚えたい!と思いますよね。
そこで、「配列は覚える必要はあるのか?」と考えてみます。結論としては、「ユーザー定義関数を使いこなせない段階では、まだ覚える必要は無い」です。
そもそも、配列は必須の知識でしょうか?答えはNOです!
ここで私が使う「必須」の言葉の意味は、「それを使わないと、実現出来ないことはあるか」という位置付けです。
配列の利点としては、
- 処理が高速化される
- コーディングが効率化出来る
ということがあります。
処理が高速化される
VBAでセルへアクセスをする度、関数が再計算される等で処理に負荷がかかります。一方、配列へセルの要素を格納、配列の中で処理を行えば、処理が高速になります。
コーディングが効率化出来る
配列を使わずに複雑な処理を行おうとした場合、処理したいセル範囲を直接For NextやFor Each でアクセスし、その都度出力先に計算結果を転記していきます。
しかし、配列ではまず、①セルの要素を配列に格納し、②計算をして、③最後に出力先に転記します。
①格納②計算③出力と処理が自ずと分割されるため、各処理をユーザー定義関数で分割すれば、コーディングを効率化することが出来ます。
まとめ:特にコーディングが効率化出来るメリットが大きく、ユーザー定義関数で処理を分割することで、コードを使いまわせるようになります。処理の分割によりエラーの発生を抑える、何度も同じ処理を書かなくて済む、というメリットを最大限活かすために、「ユーザー定義関数を使いこなせるようになっている」というのが、配列を覚える段階の目安です。