- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA/ CurrentRegion.Find)
VBAのCurrentRegion.Findで検索結果が異なる値になる問題について
このQ&Aのポイント
- VBAのCurrentRegion.Findを使用して、指定した検索ワードが入力されているセルを抽出しています。
- しかし、一部の検索結果には実際と異なる値が入る現象が発生しています。
- 検索ワードや検索結果の値には規則性がなく、原因がわかりません。検索範囲内に存在する検索ワードを並び替えると正常にヒットすることもあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
LookIn LookAt を設定してやれば Set 検索結果 = 検索範囲.Find(what:="検索ワード", LookIn:=xlValues, LookAt:=xlWhole)
その他の回答 (1)
- High_Score
- ベストアンサー率25% (45/176)
回答No.1
>Set 検索結果 = 検索範囲.CurrentRegion.Find(what:="検索ワード") 実際の検索範囲は、検索範囲+その範囲に続くデータのある領域(CurrentRegion)となりますが、それでいいのでしょうか?「検索範囲」に限定で探して欲しいなら、CurrentRegionは不要です。
質問者
お礼
ネットで拾ってきた構文だったので、ちゃんと理解せずに使用していました。 たしかにCurrentRegionなしでも、自分が意図したことはできました。 勉強になりました。 ありがとうございました。
お礼
なるほど! あらためて調べてみたら、LookInで検索対象をValueに限定し、LookAtで完全一致にする、ということですね。 無事解決できました。 ありがとうございました。