【技術記事】最短最速で学ぶ!Excel VBA入門 – 第7回:配列 –

皆さん、こんにちは、
みむすたーです。

今日は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点覚えていただければと思います。

  • 一つの変数で複数のデータを扱いたいときに、配列を使う
  • 配列を使う際には、番地指定を行い、データを参照し、設定取得を行う。

コメント