Excel VBA Findで行番号を取得する

 

Excel VBAの Findは、範囲内で特定の値を検索し、その値が見つかった行番号を取得することができます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA Findで行番号を取得する利用

以下のようなシーンで利用されます。

・特定の値を持つ行の行番号を取得して、その行に対する処理を行いたい場合に使用します。

 

ポイント

Findが Nothing を返す場合は、検索対象が見つからなかったことを意味します。見つかった場合、Rowを使用してそのセルの行番号を取得します。

 

Excel VBA Findで行番号を取得するサンプルコード

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

Option Explicit

Sub FindRowNumber()
    Dim searchValue As String
    Dim foundCell As Range
    Dim rowNum As Long

    ' 検索する値を設定します
    searchValue = "Banana"

    ' 範囲を指定して検索
    Set foundCell = Range("A1:A10").Find(What:=searchValue, LookIn:=xlValues, LookAt:=xlWhole)

    ' 見つかったセルがあるかどうかを確認します
    If Not foundCell Is Nothing Then
        ' 見つかった場合の処理
        rowNum = foundCell.Row
        MsgBox "Row number: " & rowNum
    Else
        ' 見つからなかった場合の処理
        MsgBox "Not found"
        ' ここに見つからなかった場合の追加の処理を記述します
    End If
End Sub

サンプルコードは、セル範囲 "A1:A10" 内で  Banana  という値を検索し、見つかった場合にそのセルの行番号を取得して表示します。見つからなかった場合は  Not found  というメッセージボックスを表示します。

 

Excel VBAでの効果的なデータ検索Findメソッドの活用方法

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問