果てしなくやる気ないブログ

PC関係の備忘録とおっさんの日常です

Excel VBA Find検索でのミス

以前、同僚に頼まれて作った検索用VBAで検索してないものまで引っかかると言われてよく見たら完全一致で検索してなかった。

 

よくミスする質なので、またかーと思いLookAtを入れたらエラー出た。

よくよく見たら、片方はFindNextで連続検索してた。

そりゃFindNextに入れちゃいかんわな。

 

いつも面倒くさがりなのでバグ取りもつい疎かになりがちだ。

恥ずかしいっ。

 

今日のコード

'初回検索
Set Range1 = Columns(6).Find(Cells(r, c), LookAt:=xlWhole)
If Range1 Is Nothing Then Exit Do

'続けて連続検索
For i = 1 To 1000
 Set rng(i) = Columns(6).FindNext(rng(i - 1))
 If rng(i).Address = Range1.Address Then Set rng(i) = Nothing
 If rng(i) Is Nothing Then Exit For
Next

 

気をつけよう

かしこ