変数を宣言して、ループ処理を使いこなせるようになってきたあたりで、配列を覚えたい!と思いますよね。

 そこで、「配列は覚える必要はあるのか?」と考えてみます。結論としては、「ユーザー定義関数を使いこなせない段階では、まだ覚える必要は無い」です。

 そもそも、配列は必須の知識でしょうか?答えはNOです!

 ここで私が使う「必須」の言葉の意味は、「それを使わないと、実現出来ないことはあるか」という位置付けです。

 配列の利点としては、

  • 処理が高速化される
  • コーディングが効率化出来る

ということがあります。

 

 

処理が高速化される 

 

 VBAでセルへアクセスをする度、関数が再計算される等で処理に負荷がかかります。一方、配列へセルの要素を格納、配列の中で処理を行えば、処理が高速になります。 

 

 

コーディングが効率化出来る 

 

 配列を使わずに複雑な処理を行おうとした場合、処理したいセル範囲を直接For NextやFor Each でアクセスし、その都度出力先に計算結果を転記していきます。

 しかし、配列ではまず、①セルの要素を配列に格納し、②計算をして、③最後に出力先に転記します。

 ①格納②計算③出力と処理が自ずと分割されるため、各処理をユーザー定義関数で分割すれば、コーディングを効率化することが出来ます。

 

 まとめ:特にコーディングが効率化出来るメリットが大きく、ユーザー定義関数で処理を分割することで、コードを使いまわせるようになります。処理の分割によりエラーの発生を抑える、何度も同じ処理を書かなくて済む、というメリットを最大限活かすために、「ユーザー定義関数を使いこなせるようになっている」というのが、配列を覚える段階の目安です。