【VBA】VBAで配列作成

みなさんこんにちは、ZeroTerasu(@ZeroTerasu)です。

今回はエクセルマクロ・VBAで配列を作成する最も簡単な方法を解説致します。

例、エクセルシートの2列目に入力されているデータの1行目~42行目までを配列に格納する。

Sub arr()
    Dim i, n As Long
    ReDim arr(0) 'ReDim = 要素数可変の動的配列の宣言。要素数=1(インデックス番号=0)の空配列を定義。
    For i = 1 To 42
        n = UBound(arr) '変数 n = 現在の配列の大きさを宣言。
        ReDim Preserve arr(n + 1)  'Preserve = それまでに格納された保持するために記述。(n + 1)=要素数を増加する。
        arr(n + 1) = Cells(i, 2)  '新たな要素に値を格納。
    Next i
End Sub

次に、格納した配列の各データを取り出す際の処理を記載します。

下記のように、ForEach文で配列の各要素を取りだすのが基本操作と思います。

Sub each_data()
    For Each elm in arr
        Debug.Print elm.name
    Next elm
End Sub

コメント

タイトルとURLをコピーしました