エクセルマクロで、オートフィルタの抽出結果に連番を振るVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
オートフィルタの抽出結果に連番を振る(可視セル)
以下のExcelVBAを実行すると、オートフィルタ後の可視セルに連番をうちます。
Sub オートフィルタ可視セルに連番表示()
Dim Buf As Long
Dim Cnt As Long
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cnt = 1
For Buf = 2 To LastRow
If Rows(Buf).Hidden = False Then
Cells(Buf, 4) = Cnt
Cnt = Cnt + 1
End If
Next
End Sub
オートフィルタでデータ抽出する前
フィルタでデータを抽出していない状態です。
オートフィルタでデータ抽出した後
フィルタでデータ抽出した後に、マクロを実行して
可視セルにのみ自動で連番を表示しました。
オートフィルタの抽出結果に連番を振る(崩れない連番)
以下のExcelVBAを実行すると、オートフィルタ後のデータに通し番号を表示します。
Sub オートフィルタ後の抽出データに連番付与()
Dim Last_Row As Long
'最終行を取得
Last_Row = Cells(Rows.Count, 1).End(xlUp).Row
'関数を入力
Cells(2, 4) = "=SUBTOTAL(3,$C$1:C2)-1"
'関数コピペ
Cells(2, 4).Copy
Range(Cells(2, 4), Cells(Last_Row, 4)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
マクロ実行後
SUBTOTAL関数を入力して、連番を振りました。
オートフィルタ実行後も崩れない連番を表示します。
この記事がお役に立てれば幸いです。

【エクセルマクロ】連番処理を自動化する:超便利7選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク