VBA  Array関数について ~関数の解説と使用例~

VBA  Array関数について ~関数の解説と使用例~

ENGINEER.CLUB編集部

ENGINEER.CLUB編集部

VBAで配列の要素数を設定するには、大きく分けて2つの方法があります。「宣言時には変数名の宣言だけをして、Array関数で指定した値を要素数にする」と、「宣言時に要素数を指定する」です。ここでは、前者について説明します。

tiktokの配信を見る

1.Array関数について

1-1.Array関数とは

Array関数は、Variant型で宣言された変数に配列としての値を設定する関数です。複数の値を設定する時は、「,」(カンマ)で区切ります。

1-2.Array関数の構文

Array(arglist)
  arglist:配列
      設定しない場合は、長さ0の値が設定されます
      複数の値を設定する時は、「,」(カンマ)で区切ります
  Array(arglist1, arglist2, …)

2.Array関数の使用例

2-1.基本的な使用例

2-2-1.初期値設定

要素数3の文字列値を設定

Sub sample01()
    Dim arr As Variant        '①

	'配列の値を設定
    arr = Array("001", "002", "003") '②

End Sub

①通過時点の配列の内容

Variant型の変数を定義しただけなので、何も設定されていません。

①通過時点の配列の内容

②通過時点の配列の内容

Array関数で要素を3つ分定義しているため、文字列値が設定されています。

②通過時点の配列の内容

要素数3の数値を設定

Sub sample01()
    Dim arr As Variant   ‘①

	'配列の値を設定
    arr = Array(1, 2, 3) ‘②

End Sub

①通過時点の配列の内容

Variant型の変数を定義しただけなので、何も設定されていません。

①通過時点の配列の内容B

②通過時点の配列の内容

Array関数で要素を3つ分定義しているため、文字列値が設定されています。

②通過時点の配列の内容B

2-2.その他の使用例

Arrayで配列に値を定義した後に、さらに値を追加したい場合は下記のようにします。

'配列を要素数3で宣言
Sub sample02()
    Dim arr As Variant
    arr = Array("001", "002", "003")  '①
    
    '配列arrの値をそのままに要素数を4に変更
    ReDim Preserve arr(3)
    
    '配列arrの4つ目の要素に値を設定
    arr(3) = "004"			   '②
    
End Sub

①通過時点の配列の内容

Array関数で、要素3の配列として定義されています。

①通過時点の配列の内容C

②通過時点の配列の内容

ReDim関数で追加された4番目の要素に値が設定されています。

②通過時点の配列の内容C


3.Array関数を使用する時の注意点

Array関数からは、多次元配列の作成はできません。多次元配列を作成する場合は、配列の要素数を宣言する必要があります。


4.最後に

Array関数は、変数に配列として一括で値を設定することができます。要素数が定義されている配列には使用できませんが、用途に合わせて使い分けてください。

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

コメント

文系IT未経験歓迎!株式会社ボールドの 採用エントリー を受付中!
文系IT未経験歓迎!
株式会社ボールドの 採用エントリー を受付中!