以下の様なVBAで"検索ワード"が入力されているセルを抽出しています。
Set 検索結果 = 検索範囲.CurrentRegion.Find(what:="検索ワード")
検索ワードは"01000"といった感じの5桁の数字(テキストタイプ)です。
7000行くらいの検索範囲の中から、2500回くらいの"検索ワード"を変更しながら検索するものです。
概ねうまくいくのですが、10件くらい、検索結果に実際と異なる値が入ります。
デバッグしていくとうまくいくものは例えば検索ワードが"02020"だった場合、検索結果も"02020"となりますが、うまくいかない場合には、検索ワードが"03000"のときに検索結果に"F003000"といった値が入り、検索結果.rowには全く関係のない"01750"が入力されているセルの行番号が入ったりします。
10個くらいそういう現象が起きる"検索ワード"には全く規則性はなく("03000"とか"10233"とか先頭が"0"のものに限られる、といったこともなく)、検索結果に入る値も"F003000"や"A1023300"など、検索ワードを含んでいるようなのですが、前後につく文字はよくわかりません。
しかも、実際には検索範囲の中に検索ワードは存在し、例えば"03000"の行を検索範囲の一番上に並び替えた場合は、ちゃんとヒットします。
非常に分かりにくい質問で恐縮ですが、何か考えられる要因があるようでしたら、可能性だけでも結構ですので、ご意見いただければと思います。
※"検索結果"とか"検索ワード"とかは実際のVBAの中では半角アルファベットで定義されています。
※ほとんどがうまくいっているので定義の方は問題無いものと思われます。
No.2ベストアンサー
- 回答日時:
LookIn LookAt を設定してやれば
Set 検索結果 = 検索範囲.Find(what:="検索ワード", LookIn:=xlValues, LookAt:=xlWhole)
なるほど!
あらためて調べてみたら、LookInで検索対象をValueに限定し、LookAtで完全一致にする、ということですね。
無事解決できました。
ありがとうございました。
No.1
- 回答日時:
>Set 検索結果 = 検索範囲.CurrentRegion.Find(what:="検索ワード")
実際の検索範囲は、検索範囲+その範囲に続くデータのある領域(CurrentRegion)となりますが、それでいいのでしょうか?「検索範囲」に限定で探して欲しいなら、CurrentRegionは不要です。
ネットで拾ってきた構文だったので、ちゃんと理解せずに使用していました。
たしかにCurrentRegionなしでも、自分が意図したことはできました。
勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Windows 10 ウィンドウズのフォルダの検索ワードがいつの間にか履歴みたいなのが現れず、いちいち同じワードを打ち込ま 1 2023/06/07 23:46
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Safari(サファリ) エクセルの検索機能について教えて下さい 1 2023/03/22 17:00
- SEO 検索エンジン反映遅い 1 2022/06/04 07:35
- その他(IT・Webサービス) ホンダ発電機EC550 オイルフィラーキャップの検索方法 1 2022/05/19 02:31
- Excel(エクセル) エクセルでこのようなことはできますか? 3 2022/07/10 19:57
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- その他(SNS・コミュニケーションサービス) Yahoo!とGoogle検索のしくみの違いを教えてください 2 2022/08/14 01:53
- アジア Googleマップでシンガポールのホーカーズの場所を調べたい 1 2022/12/06 08:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索がスムーズにいかない
-
エクセルで検索結果を抽出し、...
-
「大舎制」ってなんて読むんで...
-
キティちゃんのカーソルを探し...
-
メール内 本文の検索を行いた...
-
SSS4の乱数で6Vを検索す...
-
過去の検索文字を消したい。
-
アドレスバーの検索エンジンの...
-
教えてgooで質問者の名前で検索...
-
検索キーワードが二重に表示さ...
-
エクセルの検索方法教えてくだ...
-
フォルダ内の検索欄に文字等が...
-
1つのテキストボックスから2つ...
-
起き上がりこぼしと起き上がり...
-
単純所持になりますか?
-
NOTESのフォント設定
-
ホームページの画面文字を濃く...
-
英字の筆記体をエクセル等で表...
-
教えてgooについて
-
パソコン画面にたくさん開いて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
検索がスムーズにいかない
-
[Ctrl]+FをVBAで表現
-
「大舎制」ってなんて読むんで...
-
viで連続で検索したい時
-
Excelで、テキストボックスに書...
-
検索キーワードが二重に表示さ...
-
エクセルの検索機能でコピーペ...
-
写真の服探してますどうやって...
-
Bingの「話題の検索ワード」を...
-
エクセルでテキストボックス内...
-
エクセルで検索結果を抽出し、...
-
iPhoneの電話帳で登録している...
-
キティちゃんのカーソルを探し...
-
メール内 本文の検索を行いた...
-
教えてgooで質問者の名前で検索...
-
Word、特定の文字を網掛けにす...
-
検索エンジンで個人情報入力は...
-
Wordや検索窓で文字を入力する...
-
フォルダ内の検索欄に文字等が...
-
WindowsLIVEメールの検索機能に...
おすすめ情報