エクセルマクロ オートフィルタの可視セルに行番号を表示:2選

VBA-オートフィルタ可視セル行番号-アイキャッチ ExcelVBA

エクセルマクロで、オートフィルタの可視セルに行番号を表示するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

オートフィルタの可視セルに行番号表示

以下のExcelVBAを実行すると、オートフィルタの可視セルから行番号を取得します。


Sub オートフィルタ抽出後にセルに行番号入力()

Dim i As Long
Dim LastRow As Long

    '最終行を取得
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    'フィルターでデータ抽出
    Range("A1").CurrentRegion.AutoFilter _
        field:=3, _
        Criteria1:="埼玉県"
        
    Application.ScreenUpdating = False
            
        '2~最終行までループ
        For i = 2 To LastRow
        
            '行が非表示じゃなければD列に行番号を入力
            If Rows(i).Hidden = False Then
                Cells(i, 4) = i
            End If
        Next i

    Application.ScreenUpdating = True

End Sub

 

マクロ実行後

オートフィルタで絞り込み後、D列に行番号を表示します。


 

オートフィルタの可視セルに行番号表示(Msgbox表示)

以下のExcelVBAを実行すると、フィルタ後の可視セルから行番号を取得して表示します。


Sub オートフィルタ可視セル行番号()

Dim i As Long
Dim LastRow As Long
Dim Msg1 As String

    '最終行を取得
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    'フィルターでデータ抽出
    Range("A1").CurrentRegion.AutoFilter _
        field:=3, _
        Criteria1:="埼玉県"
        
    Application.ScreenUpdating = False
            
        '2~最終行までループ
        For i = 2 To LastRow
        
            '行が非表示じゃなければ行番号取得
            If Rows(i).Hidden = False Then
                Msg1 = Msg1 & i & vbCrLf
            End If
        Next i

    Application.ScreenUpdating = True
    
    MsgBox Msg1

End Sub

 

マクロ実行後

オートフィルタ抽出したデータの行番号を取得して、

メッセージボックスに表示します。


 
 

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

【エクセルマクロ】オートフィルタ処理を自動化:超便利28選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説