vba:for-next:配列

  • ちょっと、気になるのは、格納順と出力順
  • ただし、基本的には、引数確定で使うと思うので、こんな感じで出力されると覚えておけばOKと思われる
Sub mysub()

    ' 適当に、格納してみる
    'ちなみに、要素数は、4。0からあるので。
    Dim numbers(1, 1) As Long
    numbers(0, 0) = 0
    numbers(0, 1) = 2
    numbers(1, 1) = 3
    numbers(1, 0) = 1
    
    For Each number In numbers
        Debug.Print number
    Next number
    
    
'   実際の出力順は・・・こう見たいです。
'    numbers(0, 0) = 0
'    numbers(1, 0) = 1
'    numbers(0, 1) = 2
'    numbers(1, 1) = 3



'    Dim numbers(1 To 3) As Long
'
'    numbers(1) = 10
'    numbers(2) = 20
'    numbers(3) = 30
    
    ' これが基本版・・・使うことはほぼなさそうです。
    'Dim number As Variant
'    For Each number In numbers
'        Debug.Print number
'    Next number

    ' これは、1次元配列・・・こちらもほぼ出番はなさそうです。
'    Dim i As Long
'    For i = LBound(numbers) To UBound(numbers)
'        Debug.Print numbers(i)
'    Next i


    Debug.Print "-----------------------"
    
End Sub
  • ちなみに、出力順はこんな感じになりました。
    f:id:unimura:20210602004030p:plain
    出力順