Excel VBA 2次元配列|redimで実行時に動的に配列サイズを変更する方法

 

Excel VBAの2次元配列 redimは、実行時に動的に配列のサイズを変更するステートメントです。既存の2次元配列の行や列のサイズを変更できます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA 2次元配列redimの利用

以下のようなシーンで利用されます。

・2次元配列のサイズが実行時に変動する場合。

・動的にデータを収集するプロセスで、2次元配列のサイズが確定していない場合。

 

ポイント

・ReDimは既存配列の内容を失うため、注意が必要です。

 

Excel VBA 2次元配列redimサンプルコード

自分の実力を客観的にチェックしたい。そんな方のために、自分に合った学習スタート地点がわかる無料の選択問題集をご用意しました。(VBAエキスパートベーシック資格試験から抜粋した問題です)

無料138問でいまの実力をチェック

555点以上ならベーシック合格レベル、345〜550点はベーシック理解途中、340点以下は基礎理解不足※ご安心ください。この問題をされた人の情報は一切残りません。実力のチェックができる問題集で、クリックすぐにスタートではありません。解説内容の下に問題があります)

Option Explicit

Sub ResizeArray()
    Dim myArray() As Variant
    Dim i As Integer, j As Integer
    
    ' 2行3列の2次元配列を作成
    ReDim myArray(1 To 2, 1 To 3)
    
    ' データの格納
    For i = 1 To 2
        For j = 1 To 3
            myArray(i, j) = i * 10 + j
        Next j
    Next i
  
    ' データの表示
    For i = 1 To UBound(myArray, 1)
        For j = 1 To UBound(myArray, 2)
            Debug.Print myArray(i, j)
        Next j
    Next i
End Sub

サンプルコードは、2次元配列のサイズを3行3列にしています。

 

生成AIで業務改善を始めたい方へ

Excelの業務改善に興味がある方は、生成AIを活用することで、さらに効率化できる可能性があります。

目的に合わせて、こちらの記事をご覧ください。