[VBA][Excel]動的配列 ReDim

 

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

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

下記を実行すると

Private Sub CommandButton1_Click()

'動的配列の要素数を指定せずに宣言します
Dim jikoku() As String

Dim i As Integer
Dim st As Integer

'要素数が24個として割り当てた例で24から-1します。23でも可です
ReDim jikoku(24 - 1)


'0,1,2・・・21,22,23と24回繰り返します
For i = 0 To 24 - 1
    jikoku(i) = CStr(i) + "時"

    Sheet1.Cells(i + 1, 1) = jikoku(i)
Next

'要素数が12個として再割当てします
ReDim jikoku(12 - 1)

For i = 0 To 12 - 1
    jikoku(i) = "午前 " + CStr(i) + "時"

    Sheet1.Cells(i + 1, 2) = jikoku(i)
Next

'最後に値をセットしたセルの行番号を控えます。
st = i

ReDim jikoku(12 - 1)


For i = 0 To 12 - 1
    jikoku(i) = "午後 " + CStr(i) + "時"

    'st を使って続きの行から値をセットします
    Sheet1.Cells(i + 1 + st, 2) = jikoku(i)
    
Next


'配列の初期化です
Erase jikoku


End Sub

このようになります。

vba-excel-redim