エクセルVBA、2重の検索方法について
以前、回答していただいた記述で早速試してみたのですが・・・・。
実はキーワードの1つ目はデータの中に同じものがある場合があります。
1つ目で検索されたキーワードの同じものの中から、さらにキーワード2で最終的に絞り込みたいのです。
この記述だと、一番最初にキーワード1でひっかかったものしかキーワード2を検索しないので・・・。
Do Loopを使うのだと思うのですが、どのように入れ込んでいくのかわかる方お願いします。
*この記述の内容は既にあるデータの中からInputBoxにキーワード1を入力し、データのC列を検索し1に合致したものの中から、さらにキーワード2で絞り込み、2つのキーワードが含まれた行全体を指定した場所にコピペするというものです。
Sub test02()
Dim Keyword, Keyword2, Fnd, Fnd2
'入力されたキーワードを変数Keywordに入れる
Keyword = InputBox("キーワードを入力してください")
Keyword2 = InputBox("キーワード2を入力してください")
'C列からキーワードを検索し、検索結果のセルをオブジェクト変数Fndにセットする
Set Fnd = Range("C:C").Find(Keyword) 'C列検索
If Not Fnd Is Nothing Then 'もし、C列にキーワードが見つかったら
Set Fnd2 = Range("E" & Fnd.Row).Resize(, 22).Find(Keyword2) '同行E-Z列検索
If Not Fnd2 Is Nothing Then 'もし、E~Z列にキーワードが見つかったら
Fnd.EntireRow.Copy 別の指定した行 'キーワードが見つかったセルを含む行全体を、[別の指定した行]にコピペ
Exit Sub '終了
End If
End If
MsgBox "データはありません" 'もし、キーワードが見つからなかったら
End Sub
お礼
なるほど、こんなにいろいろやりかたがあるんですね。 皆さんにベストアンサーをお送りしたいのですが、ひとりしか選べないのでmu2011さんをベストアンサーにさせていただきます。