支店名を配列にしたい!
商品コードを配列にしたい!
こんな時、VBAを知っていると簡単にできます。
この記事では、array関数について解説します。
VBAのarray関数とは

VBAのarray関数は、配列を1つの変数に格納するために使います。
変数はVariant型で宣言します。
Variant型はどんなデータでも入れることができ、入れたデータによって型が決まります。
そのため、array関数で配列を追加するときには、配列が数字であっても文字であっても適切な型になります。
また、配列としていくつかのデータを格納するときには「,(カンマ)」で区切ります。
では、次の章から実際に作成方法を見ていきましょう。
array関数の作成方法

array関数で配列を追加するには、Variant型の変数を作っておきます。
今回は、「VBA1」「VBA2」「VBA3」という配列を作ってみましょう。
Sub arr()
Dim arr As Variant
arr = Array("VBA1", "VBA2", "VBA3")
End Sub
「arr」という変数に、array関数で3つの要素を追加しました。
配列から指定の値を取り出す方法

先ほど作った配列から1番目の「VBA1」をメッセージボックスに表示させてみましょう。
VBAは以下の通りです。
Sub arr()
Dim arr As Variant
arr = Array("VBA1", "VBA2", "VBA3")
MsgBox arr(0)
End Sub
1番目は1、2番目は2、と思うかもしれませんが、VBAでは1番目は「0」から始まります。
今回の例でいうと、「VBA1、VBA2、VBA3」はそれぞれ「0、1、2」になります。

要素を追加する方法

array関数で作った配列は、後から要素を追加することもできます。
要素を追加するには「ReDim Preserve」を使います。
ReDimだけでも要素を追加することはできますが、すでに入っている配列がリセットされてしまいます。
要素を入れ替えてしまうのではなく、追加をする場合は必ず、「ReDim Preserve」を使いましょう。
では実際に、先ほどのVBAに「VBA4」という新しい要素を追加します。
VBAは以下の通りです。
Sub arr()
Dim arr As Variant
arr = Array("VBA1", "VBA2", "VBA3")
ReDim Preserve arr(3)
arr(3) = ("VBA4")
End Sub
VBAでは1番目は0から始まるので、「arr(3)」は配列の4番目になります。
上記のVBAを実行すると、もともとの配列に「VBA4」が追加され、「VBA1、VBA2、VBA3、VBA4」という配列になります。
まとめ

最後まで読んでいただきありがとうございます。
array関数や配列について理解が深められたのではないでしょうか。
VBAを勉強するみなさまのお役に立てるような記事をこれからも書いていきます!

コメント