エクセルマクロ オートフィルタの可視セルに行番号を表示: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選
エクセルマクロで、オートフィルタ処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!

 

この一冊で全部わかる ChatGPT & Copilotの教科書[改訂第2版]

生成AIの基本から実践まで、イラストでやさしく理解できる一冊

ChatGPTとCopilotの違いを整理して使いこなしたいなら、まず読んでおきたい一冊です!


★★★★☆ 4.2 ※ Amazonカスタマーレビューより
生成AIの基本知識から実践的な活用法まで、イラストでわかりやすく解説
ChatGPTとCopilotの違い・使い分けが明確に整理できる
プロンプト作成のコツからハルシネーションなどの注意点まで幅広くカバー