【Excel VBA】テーブルを配列に保存する(1行コード)

VBAでテーブルを直接操作してもいいですが、テーブルを配列に保存し(取り込み)、操作するほうが速い場合があります。

この記事では、テーブルのデータ部分を簡単に配列に保存する方法についてご紹介します。

目次

テーブルを配列に保存する

テーブルのデータ部分を配列に保存する方法はとても簡単です。

配列名 = テーブル名 だけで配列に読み込むことができます。

具体例として次のコードを実行してみます。

Sub テーブル配列保存()
    Dim MyArray() As Variant
    Dim x As Long
    Dim y As Long
    
    MyArray() = Range("TBL職員")
    
    For y = 1 To UBound(MyArray, 1)
        For x = 1 To UBound(MyArray, 2)
            MsgBox MyArray(y, x)
        Next
    Next
End Sub

■テーブルデータ

■実行結果

解説

MyArrayの配列に、TBL職員のテーブルデータを保存します。

保存した配列のデータをFor文でメッセージボックスに順に表示します。

「山田 太郎」→「1950/1/1」→「男」・・・→「製造部」の順に表示されます。

配列の開始は0から?1から?

配列の開始は0からの場合と1からの場合があります。言語によって大きく異なりますが、ほとんどの言語が0から始まります。

Excelの場合も普通に配列を宣言すると、例えばMyArray(2)の場合、

MyArray(0)、MyArray(1)、MyArray(2)

の3つができ、0が起点となります。しかしは、テーブルなどのセル範囲から配列に保存して作成した場合は、1から始まります。

上記でご紹介したコードだとMyArray(1,1)~MyArray(3,4)の配列が作成され保存されます。

テーブルを配列に保存した場合は、1が起点となりますのでご注意ください。

まとめ

テーブルを配列に保存するには、以下のコードで簡単に保存できます。

配列名()=Range("テーブル名")

テーブルを配列に保存した場合、配列の番号は”1”空になるので注意が必要です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次