この記事では、配列の仕組みとVBAでの配列の作り方について紹介しています。この記事を読めば、配列の基本的な内容を理解することができます。
VBAの環境構築がまだの人はは以下を参考にしてださい。
VBAの環境構築の方法をまとめました
この記事では、Excelマクロ・VBAを使い始めるための環境構築の方法をまとめています。これからVBAを活用したい方はぜひ参考にしてください。
まず配列について簡単に紹介します。
配列とは
配列とは簡単に言えば、データが格納された箱のようなものです。
例えば、「fruits」という箱があるとして、その中には「りんご」「ぶどう」「パイナップル」という文字列のデータが格納されているとします。イメージとしては以下の通りです。
fruits = ['りんご’, 'ぶどう', 'パイナップル']
また、配列に格納されたデータはインデックス番号というものが振られています。インデックス番号は、1からではなく、0から数えます。
上記の配列fruitsの場合のインデックス番号とデータは以下の通りです。
インデックス番号0 → りんご
インデックス番号1 → ぶどう
インデックス番号2 → パイナップル
VBAの配列作成方法
VBAで配列を作る方法は大きく2つあります。
- データ数を決めて作成
- データ数を決めずに作成
1.データ数を決めて作成
データ数を決めて作成するプログラムは以下の通りです。
' ここで配列宣言
Dim fruits(2) fruits(0) = "りんご" fruits(1) = "ぶどう" fruits(2) = "パイナップル" Dim num For num = 0 To 2 Cells(num + 1, 1) = fruits(num) Next
最初に変数を宣言する際に()でデータ数を決めています。ここで注意点としては、()内の数字は、インデックス数ではなく、()内の数字のインデックス番号までという意味です。
For文を使って、内容を確認してみると、以下のようにセルに配列の内容が入力されています。
For文の使い方については、以下をご覧ください。
VBAでのFor文による繰り返し方法を紹介
この記事では、Excelマクロ・VBAによるFor文の使い方について紹介しています。数値の繰り返し、配列の繰り返しそれぞれの利用方法を解説しているので、ぜひ参考にしてください。
2.データ数を決めずに作成
次に、データ数を決めずに配列を作成する方法ですが、プログラムは以下の通りです。
' ここで配列宣言 Dim fruits fruits = Array("りんご", "ぶどう", "パイナップル") Dim num For num = 0 To 2 Cells(num + 1, 1) = fruits(num) Next
ここではArray関数を利用しています。結果は、先ほど同様で以下の通りです。
また、異なるデータ型でも同じ配列に格納することが可能です。
' ここで配列宣言 Dim s s = Array(1, "りんご", 3) Dim num For num = 0 To 2 Cells(num + 1, 1) = TypeName(s(num)) Next
TypeName関数でデータ型を調べています。プログラムを実行後、以下の画像のように、Integer型、String型、Integer型といったように1→数値、りんご→文字列、3→数値とデータ型が異なっている配列を作成できています。
以上、配列の仕組みとVBAによる配列作成方法でした。以下、VBAを学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。