配列の宣言方法
配列も変数と同様に宣言が必要です。仮に配列として宣言する変数名を「h」としましょう。
宣言方法は
- Dim h(4) as Variant
- Dim h(1 to 4) as Variant
- Dim h() as Variant
以上の様なパターンがあります。
それぞれの説明をすると
- hという配列の部屋数が0~いくつまで使用するのかわかっている場合にこの様な宣言方法をとります。この場合は0~4までが部屋数として認められます。
- hという配列の部屋数が「いくつからいくつまで」で固定になっている場合に使用します。この場合は1~4までが部屋数として認められます。
- hという変数の部屋数が決まっていない場合に使用します。処理をしていく過程で部屋数を変動させる事が出来ます。
ちなみに配列の型は今回はサンプルですのでVariant型にしてますが、配列内に入れるものによって型は変数同様に変更させるのが望ましいです。
配列に値を入れてみましょう
では今回は、h(4)という配列に整数を入れて行ってみましょう。という事で配列内に入る値は整数のみなのでLong型で宣言しておきましょう。
上図の様にローカルウィンドウで見るとhというものから分岐してh(0)~h(4)までの部屋の中身が展開して見えます。(hの左にある+をクリックして展開する必要があります。)
値の入れ方は変数に番号を付けて入れる感覚なので至ってシンプルですね。
ですが、よく見て下さい。この様な配列の場合は必ず配列の部屋は0~4ですよね?
という事は… そうです!DoやForなどのループ処理が使えます。
ではForを使って配列に値を入れてみましょう。
ループ処理を使用して配列に値を入れましょう
Sub 配列() Dim h(4) As Long Dim i As Long Dim val As Long val = 1 For i = 0 To 4 h(i) = val If Not i = 4 Then val = val * 100 Next End Sub
流石にLong型とはいえオーバーフローしてしまうので若干Ifによる分岐は設けましたが、上記の様に記述する事でかなり手間を省きつつ汎用性を上げて配列に値を入れ込む事が出来ます。
基本的な配列への値の入れ込み方はこの様な感じですね。
もう一つの宣言方法(1 to 4)のような宣言方法をしている時はセル番地と合わせる時とかに便利ですかね?
セルの番地に0番地はありませんのでこのような指定方法は重宝するかも知れません。
一番よく使う配列がh()の様な部屋数が変動する場合です。この場合は普通に上記の様に扱う事が出来ないので次回はそこをお勉強していきましょう。