FindNextを用いて検索する | カメレオンのVBA

カメレオンのVBA

VBAの私的メモ書き

・FindNextを用いるとキーワードとなる言葉が入ったセルを、
指定した範囲内で全て検索する。


例:A列に山田と書かれたセルのアドレスを、全て出力する。

sub test()
 Dim myRange As Range
 Dim myAddress As String

 Set myRange = Range("A:A").Find("山田", LookIn:=xlValues) 'オブジェクト変数なので必ずSetを明記する

 If Not myRange Is Nothing Then 'myRangeの検索条件が見つかるならば・・・
 myAddress = myRange.Address

  Do
    Debug.Print myRange.Address 'アドレスを出力する
    Set myRange = Range("A:A").FindNext(myRange)
   Loop While Not myRange Is Nothing And myRange.Address <> myAddress
   'myRangeの検索条件が見つかっている間 ⇒ 処理を続行する
  End If
end sub