ジャグ配列の中身をすべてを、イミディエイトウィンドウに書き出す。

ジャグ配列とは…

素数の異なる配列のことです。

(例)
配列(2)
 配列(0)(0),(0)(1)
 配列(1)(0),(1)(1),(1)(2)
 配列(2)(0),(2)(1),(2)(2),(2)(3)


配列(0)は2つの要素を持つ。
配列(1)は3つの要素を持つ。
配列(2)は4つの要素を持つ。

このように、要素数の異なる配列のことをジャグ配列と呼びます。

VBAでジャグ配列の作り方

Sub jag配列作成()

Dim jagarr() As Variant
jagarr = Array(Array(1, 2), Array(3, 4, 5, 6), Array(7, 8, 9, 10, 11))

End Sub


下の画像の通りジャグ配列ができる。

f:id:bimori466:20201227014336p:plain

ジャグ配列の中身すべてをイミディエイトウィンドウに書き出す。

Sub jag配列_要素全てを書出し()

Dim jagarr: jagarr = Array(Array(1, 2), Array(3, 4, 5, 6), Array(7, 8, 9, 10, 11))

    jagValue = jagarr(0)(0)
    
    'jag配列の最小値、最大値をイミディエイトウィンドウに書き出す
    Debug.Print "jag配列数 = " & LBound(jagarr)
    Debug.Print "jag配列数 = " & UBound(jagarr)
    
    
    'jag配列の要素をイミディエイトウィンドウに書き出す
    For jaghi = LBound(jagarr) To UBound(jagarr)
        For jaghihi = LBound(jagarr(jaghi)) To UBound(jagarr(jaghi))
            Debug.Print jagarr(jaghi)(jaghihi)
        Next
    Next
End Sub


下の画像の通りジャグ配列の要素をイミディエイトウィンドウに書き出す。

f:id:bimori466:20201227014639p:plain


LBound、UBoundを使って配列のそれぞれの要素数を調べ、それをループ数とすることですべての要素をイミディエイトウィンドウに書き出すことができます。

なお、ジャグ配列の活用方法はわかりません(;^ω^)


備忘録でした(^^)/~~~