Excel VBAの配列にはどんな種類があるのか - 1次元配列 -
はじめに
少し前になりますが、「Excel VBAで配列を覚える労力は報われるのか」という記事を書きました。
今回は、その続きの、配列の種類について説明します。
◆目次◆
配列の種類
配列には、以下の4種類があります。
- . 1次元配列
- . 多次元配列
- . 静的配列
- . 動的配列
それぞれの配列がどんなものなのかを数回に分けて説明します。
今回は1次元配列を説明します。
1次元配列
配列は、箱の集合体のようなものを想像するとわかりやすいです。1次元配列は、横並びの箱に1つずつ値を入れていきます。
なお、配列の始まりは、指定がない場合は「インデックス:0」から始まります。
Excel VBAで配列のコードを書くときは以下の手順で書きます。
' 1.配列を宣言する Dim 配列名(インデックスの最大値) As データ型 ' 2.宣言した配列に値を入れる 配列名(インデックス) = 値
では、3つの箱に以下の値を入れて、配列を作ってみます。
- インデックス0:Coffee
- インデックス1:Tea
- インデックス2:Milk
それぞれの箱に値を入れました。この配列をコードで書いてみます。
' 開始位置を指定しない配列 Sub array1_1() Dim drink(2) As String drink(0) = "Coffee" drink(1) = "Tea" drink(2) = "Milk" End Sub
このプロシージャを実行し、ローカルウィンドウで結果を見ると、意図した通り配列に値が入っています。
ちなみに、インデックスの開始を0以外から開始することも可能です。その場合は、インデックスの範囲を指定します。
' 1.配列を宣言する Dim 配列名(インデックスの開始の値 To インデックスの最大値) As データ型 ' 2.宣言した配列に値を入れる 配列名(インデックス) = 値
たとえば、上記のように「インデックス:1」から始めたい場合のコードは以下のとおりに書きます。
' 開始位置を指定する配列 Sub array1_2() Dim drink(1 to 3) As String drink(1) = "Coffee" drink(2) = "Tea" drink(3) = "Milk" End Sub
さいごに
いかがでしたか。なんとなく「配列を使うと、数字がついた箱に値を入れることができる」ということが分かったと思います。実践的な配列の使い方については、順を追って説明しますので、もうしばらくは、配列の種類のと使いかたを説明します。
次回は多次元配列について説明します。