Excel VBA 2次元配列の初期化

 

Excel VBAで2次元配列を初期化する具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA 2次元配列の初期化

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

・既存の2次元配列のデータをクリアして新しいデータを格納する場合

・関数やサブルーチン内で動的に生成された2次元配列に初期値を設定する場合

 

ポイント

ReDimを使用して新しいサイズの配列を作成するため、既存のデータは失われます。

 

Excel VBA 2次元配列の初期化サンプルコード
Option Explicit

Sub InitializeArray()
    Dim myArray() As Variant
    Dim numRows As Integer, numCols As Integer
    Dim i As Integer, j As Integer
    
    ' 行数と列数を指定
    numRows = 3
    numCols = 4
    
    ' 配列定義
    ReDim myArray(1 To numRows, 1 To numCols)
    
    ' 配列に値を格納
    For i = 1 To numRows
        For j = 1 To numCols
            myArray(i, j) = i * 10 + j
        Next j
    Next i
    
    ' データの表示
    For i = 1 To numRows
        For j = 1 To numCols
            Debug.Print myArray(i, j)
        Next j
    Next i

    ' 配列再定義
    ReDim myArray(1 To numRows, 1 To numCols)
    
    ' データの表示
    For i = 1 To numRows
        For j = 1 To numCols
            Debug.Print myArray(i, j)
        Next j
    Next i
End Sub

サンプルコードは、myArrayに値を格納してDebug.Printで表示。その後、2二元配列をReDimを使って初期化して、2次元配列の内容が初期化されているかDebug.Printで表示しています。

 

    For i = 1 To numRows
        For j = 1 To numCols
            myArray(i, j) = 0
        Next j
    Next i

このサンプルコードは、For分で2次元配列を初期化しています。

 

あなたもExcel VBAのスキルを証明できるようにしませんか? Excel VBA エキスパート資格は、VBAプログラミングの専門家としての信頼性を高めキャリアの成長に大きく貢献し、求人市場での競争力を高め、キャリア機会を拡大します。

 

当サイトでは、Excel VBAエキスパート認定資格取得に役立つ情報を提供しています。まずは問題集から挑戦してみませんか?

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。