エクセルマクロで、オートフィルタの抽出結果に連番を振るVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
オートフィルタの抽出結果に連番を振る(可視セル)
以下のExcelVBAを実行すると、オートフィルタ後の可視セルに連番をうちます。
Sub オートフィルタ可視セルに連番表示()
Dim i As Long
Dim Cnt As Long
Dim LastRow As Long
'最終行を取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'連番用
Cnt = 1
'フィルターでデータ抽出
Range("A1").CurrentRegion.AutoFilter _
Field:=3, _
Criteria1:="埼玉県"
'2行目~最終行までループ
For i = 2 To LastRow
'行が非表示じゃなければ連番入力
If Rows(i).Hidden = False Then
Cells(i, 4) = Cnt
Cnt = Cnt + 1
End If
Next
End Sub
マクロ実行後
フィルタ後の可視セルの上から順番に、連番を入力します。

フィルタを解除した後の状態です。

オートフィルタの抽出結果に連番を振る(崩れない連番)
以下のExcelVBAを実行すると、オートフィルタ後のデータに通し番号を表示します。
Sub オートフィルタ後の抽出データに連番付与()
Dim LastRow As Long
'最終行を取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'セルD2に関数入力
Cells(2, 4) = "=SUBTOTAL(3,$C$1:C2)-1"
'D列に関数コピペ
Cells(2, 4).Copy
Range(Cells(2, 4), Cells(LastRow, 4)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
'フィルターでデータ抽出
Range("A1").CurrentRegion.AutoFilter _
Field:=3, _
Criteria1:="埼玉県"
End Sub
マクロ実行後
SUBTOTAL関数を使用して、D列に連番を入力します。

C列を「埼玉県」でフィルタ抽出した場合、連番1~5が自動表示されます。
フィルタ抽出後も崩れない連番をふることができます。

C列を「東京都」でフィルタ抽出した場合、連番1~3が自動表示されます。

フィルタを解除した後の状態です。

この記事がお役に立ちますと幸いです。
・【エクセルマクロ】連番処理を自動化する使用例まとめ

【エクセルマクロ】連番処理を自動化する:超便利7選
エクセルマクロで、連番処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!
[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう
ChatGPTと対話しながら身につける、新しいVBA入門
リンク
★★★★★ 4.6 ※ Amazonカスタマーレビューより
✓マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
✓「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
✓変数・条件分岐・ループなどVBAの基礎もしっかり解説されている