動的配列は、配列変数のひとつです。配列内の部屋(要素)を、マクロ中で何度も増減できるという便利機能ですが、要素数を変更する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チャンネルはこちら(動画一覧ページ)