配列とは!?
配列とはメモリ空間に作ることが出来る部屋の事です。
とは言え、初めて触れる方には想像がつきにくいと思います。
簡単に言うと一時的に何個もの値を一時的に記憶しておく変数みたいなものの事です。
具体的に言うと!?
例えば同級生のテストの点数を例に考えてみましょう。
- A君は100点
- B君は80点
- C君は60点
- D君は40点
- E君は20点
これらを一つの配列の中に格納する事が出来るんです。
そしてこれらを格納する際に配列の中に部屋番号を振って格納する事が出来るんです。
その部屋というのは基本的に0から始まる部屋番号となっております。
上記の例で考えると
- A君の部屋は0号室
- B君の部屋は1号室
- C君の部屋は2号室
- D君の部屋は3号室
- E君の部屋は4号室
変数に格納すると…
格納する変数の名前を「score」としましょう。
部屋数の指定は半角の()で指定します。
- A君の点数を格納する配列はscore(0)
- B君の点数を格納する配列はscore(1)
- C君の点数を格納する配列はscore(2)
- D君の点数を格納する配列はscore(3)
- E君の点数を格納する配列はscore(4)
つまりこれらを上記の配列に格納するとすれば
- score(0) = 100
- score(1) = 80
- score(2) = 60
- score(3) = 40
- score(4) = 20
配列に入れる理由
普通に考えると一時的に何かを格納して処理したい場合は一旦セルに値を入れてからそれらを元に計算やら何やらやりたい所ですが、ExcelVBAの場合はいちいちセルに値を入れたりするとその都度画面の更新やら再計算やらの処理が走って処理速度がかなり落ちてしまいます。
そこで、配列というメモリ空間に一時的な値の格納場所を作ってセルに干渉せずに処理を進めていく事が出来る。というわけです。
更に、そうする事によりユーザーが勝手に必要な値などを消してしまって狙い通りにプログラムが動かない事態も防ぐ事も出来ます。
せっかく一生懸命作った一日5分間かかる入力作業を簡単にするプログラムを書いても処理開始から処理終了までの時間が5分かかっていたらあまり意味がないですからね。(そこまで究極な時間がかかる処理はそうないですが…)
という事でセルに直接触れて作業するよりも圧倒的に処理スピードが早い配列の使い方は次回から学んでいきましょう。