エクセルマクロで、オートフィルタの可視セルを配列へ格納するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
オートフィルタの可視セルを配列格納
以下のExcelVBAを実行すると、オートフィルタ後の可視セルを配列へ代入します。
Sub オートフィルタ可視セルを二次元配列に格納()
Dim MyList() As Variant
Dim i As Long
Dim j As Long
Dim LastRow As Long
Dim Cnt As Long
'最終行を取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cnt = 1
'要素数を宣言
ReDim Preserve MyList(LastRow, 3)
'フィルターでデータ抽出
Range("A1").CurrentRegion.AutoFilter _
Field:=3, _
Criteria1:="埼玉県"
'セルをループ
For i = 2 To LastRow
'行が非表示じゃなければ配列へ格納
If Rows(i).Hidden = False Then
For j = 1 To 3
MyList(Cnt, j) = Cells(i, j)
Next j
Cnt = Cnt + 1
End If
Next
End Sub
マクロ実行前
フィルタでデータを抽出する前の状態です。
マクロ実行後
マクロを実行して、フィルタでデータ抽出した後に、
可視セルのみ二次元配列に格納します。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】オートフィルタ処理を自動化する使用例まとめ
【エクセルマクロ】オートフィルタ処理を自動化:超便利28選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク