[VBA][Excel]2次元配列

※全てのExcelで動作する保証はありません。また、内容に関し管理人は全ての責任を負いかねます

サンプル ※説明に必要な部分しか記述していません

String型を2次元配列で 6×7 = 42個用意して、それらをSheet1に転送しているだけです。

下記を実行すると

Private Sub CommandButton1_Click()

'サンプルでは列A~Gの幅を小さくしています

Dim arr_cal(6, 7) As String
Dim ir, ic, i As Integer


i = 1

For ir = 1 To 6

    For ic = 1 To 7
    
        If (i >= 10) And (i <= 40) Then
            arr_cal(ir, ic) = CStr(i - 9)
           
        Else
            arr_cal(ir, ic) = "-"
            
        End If
    
        Sheet1.Cells(ir, ic).Value = arr_cal(ir, ic)
        i = i + 1
    
    Next

Next


End Sub

このようになります。

vba-excel-nijigen-hairetsu