皆さん、こんにちは、
みむすたーです。
今日はVBAの配列について説明していきます。
もくじ
配列とは
まずは、プログラミング初学者のために、配列が何かを説明しておきます。
配列は、一つの変数で複数のデータを保管しておくための仕組みです。
以前ご説明した通常の変数では、一つの変数につき、一つのデータしか保管できませんでした。
しかし、場合によっては、データを複数保管する必要が出てきます。
配列でない変数の場合、以下のような箱がひとつあるイメージです。
しかし、配列として宣言された変数は、以下のような箱が複数あり、
全てが一つの変数で管理されているという状態です。
以下の画像のようにデータを保管するための箱が一列に並んでいるとイメージするとわかりやすいです。
配列の宣言
配列の宣言をVBAのプログラムとして書く場合は以下のように書きます。
Dim 変数名(n) As 型名、または、オブジェクト名
(n)のところは、数値を入れましょう。
例えば、0〜5番までのデータを保管するためのInteger型の配列 hensuu を宣言する場合には、
Dim hensuu(5) As Integer
と書きます。
配列の参照
ここからは配列の参照について説明します。
プログラミングでいう参照とは、変数が保管しているデータの保管先を指定するということです。
データの保管先を指定した上で、以下の2つを行えます。
①指定した保管先に保管されているデータを取得(get)する。
②指定した保管先に保管されているデータを別の値に設定(set)する。
配列を参照する場合には、VBAでは以下のようにプログラムを書きます。
'データを取得(get)するとき、
変数名(n)
'データを設定する(set)とき
変数名(n) = 設定値
(n)のところで、データの列の何番目かを指定しています。
あるデータの指定をすることをプログラマー界隈では、一般的に番地指定と呼びます。
これだけでは少しわかりづらいので、VBAでも実行できるサンプルプログラムを書きます。
Dim hensuu(5) As Integer
' 0番目のデータを 1 に設定(set)するとき、
hensuu(0) = 1
' 0番目のデータを取得(get)して、それに1を加えたものを1番目のデータとして設定(set)するとき、
hensuu(1) = hensuu(0) + 1
上のプログラムの説明をします。
hensuu(0) = 1の行のプログラムが実行されたとき、
イメージとしては以下のように (0) と書かれた箱に 1 の値が入るような感じです。
hensuu(1) = hensuu(0) + 1 のプログラムが実行されたとき、
イメージとしては以下のように (0)の箱から設定された 1 を取り出して、
その1の値に 1 を加える感じです。
まとめ
ここまでで、配列の説明については以上となります。
この章では、以下の2点覚えていただければと思います。
- 一つの変数で複数のデータを扱いたいときに、配列を使う
- 配列を使う際には、番地指定を行い、データを参照し、設定取得を行う。
コメント