Home » Excel VBA Rangeオブジェクト » セル検索 » Excel VBAのFindメソッドでみつかったRangeの行番号を取得する

Excel VBAのFindメソッドでみつかったRangeの行番号を取得する

対象:Excel2007, Excel2010, Excel2013

「エクセル マクロ find 行番号を返す」
「エクセル2010 vba find 行番号の取得」
「vba 文字列検索 セルの位置 find 行番号」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。

RangeオブジェクトのFindメソッドを使って検索を行い、みつかったセルの行番号を取得するには、どんなVBA(Visual Basic for Applications)のコードを書けばいいのか探している方による検索です。

[スポンサードリンク]

FindでみつかったRangeの行番号を取得するサンプルマクロ

参考になりそうな簡単なマクロをご紹介しておきます。

Sub 北海道という文字列を探して行番号を取得する()
 MsgBox Range("A1:G7").Find("北海道").Row
End Sub

セル範囲A1:G7の、いずれかのセルに「北海道」という文字列を入力しておいてから、上記のマクロを実行すると、「北海道」と入力されているセルの行番号が、メッセージボックスに表示されます。

サンプルマクロの解説

Range.Findの戻り値はRange

RangeオブジェクトのFindメソッドは、ヘルプやオブジェクトブラウザーで確認するとわかるとおり、

FindメソッドでみつかったRangeの行番号を取得するExcelマクロ

みつかったセルを表すRangeオブジェクトを返してきます。

Range.Rowの戻り値は行番号

また、Findメソッドを使ったときに限らずRangeオブジェクトのRowプロパティを使えば行番号を取得することができます。

上記のマクロでは、メッセージボックスに表示するため、

MsgBox Range("A1:G7").Find("北海道").Row

としていますが、例えば、Long型の変数row_numに、行番号を代入するのならば、

row_num = Range("A1:G7").Find("北海道").Row

です。

最終更新日時:2020-11-13 10:36

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » セル検索 » Excel VBAのFindメソッドでみつかったRangeの行番号を取得する

「セル検索」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.