動的配列の解説(実務ではけっこう使うよって話)


動的配列は、配列変数のひとつです。配列内の部屋(要素)を、マクロ中で何度も増減できるという便利機能ですが、要素数を変更するReDimには注意が必要です。また、実務で動的配列を使うときは、必要な要素数を取得して、一気に要素数を決めるやり方と、新しいデータが登場するたびに、1要素ずつ増やしていく2パターンがあります。実務でよくやる、かつ難しいのが後者です。この動画を見れば、それがイメージできます。

↓左上にあるをクリックすると、チャンネル登録できます。ぜひ、チャンネル登録をお願いします。あなたのチャンネル登録が、私のやる気を維持向上してくれます(笑)

''Sheet1
''動的配列(パターン1)
Sub Macro1()
    Dim A() As String, i As Long, N As Long
    N = Cells(Rows.Count, 6).End(xlUp).Row
    ReDim A(N - 1)
    For i = 1 To N
        A(i - 1) = Cells(i, 6)
    Next i
    Range("A1").AutoFilter 1, A, xlFilterValues
End Sub
''Sheet2
''動的配列(パターン2)
Sub Macro1()
    Dim A() As String, i As Long, N As Long
    On Error Resume Next
    For i = 1 To Cells(Rows.Count, 7).End(xlUp).Row
        If Cells(i, 6) = "○" Then
            N = UBound(A) + 1
            ReDim Preserve A(N)
            A(N) = Cells(i, 7)
        End If
    Next i
    Range("A1").AutoFilter 1, A, xlFilterValues
End Sub

動画で使用したブックのダウンロード(20200714.xlsm)

Office TANAKAのYouTubeチャンネルはこちら(動画一覧ページ)