[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 入力した値でOR検索をする方法』(tentenyun)
初めまして。標記の件について、上手くいかずに困っています。
よろしければ、ご教授願います。
以下現状の詳細です。
文字列を基本とした表を作っており、D列に書類名を入れています。
検索範囲はD列のみです。
InputBoxの検索フォームにてキーワードを入力し、書類名にそのキーワードがある場合に抽出されるようになっています。
Dim dRng As Range Dim Joken As String Dim cnt As Long ActiveSheet.AutoFilterMode = False Set dRng = Range("C6").CurrentRegion Joken = InputBox(Prompt:="書類名を入力してください", _ Title:="書類名の検索")
If Joken = "" Then Exit Sub dRng.AutoFilter Field:=3, Criteria1:="*" & Joken & "*"
以上が抽出実行までのマクロです。(国本温子先生の著書を参考)
今はinputBoxにはいる言葉(joken)、1文字列しか検索が出来ません。
これを、1つのinputBoxで2つの文字列を検索できるようにするには、どのように組めば良いのでしょうか?
inputBoxでは複数の文字列を検索することは難しいのでしょうか?
★Criteria1:="*" & Joken & "*"
OperatorでOr検索を追加し、Criteria2を追加する等・・・。
例)【赤】 か 【青】 どちらかの言葉が入っている書類を検索する時
【希望】
入力フォーム ⇒ 「赤 青」 と入力する。
結果 ⇒ 赤か青の言葉が入った書類が抽出される。
_________________
【現在】
入力フォーム ⇒ 「赤 青」 と入力する。
結果 ⇒ 条件に一致するデータがありません。
______________________________
以上、分かりにくいご説明で申し訳ありません。
もし解決方法が分かる方がいらっしゃいましたら、宜しくお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
Split関数を調べてみてください。 (OK) 2019/12/06(金) 16:42
複数条件(OR検索)の参考HPです。
http://excel-pro.info/09_VBAsample_08.html
(OK) 2019/12/06(金) 17:47
サンプル作ってる間に参考アドレス出ちゃったけど ちょっと見てみてください。
「赤」または「青」を含む 但し「空」は含まない みたいなことはできないです。
かなりの冊数があるなら、フィルタオプションも検討されたほうが良いかと思います。 Sub a() Dim 検索文字 As String 検索文字 = Application.InputBox("検索したい文字をスペースで区切って入力", , , , , , , 2) Debug.Print 検索文字
検索文字 = "*" & Replace(検索文字, " ", " ") & "*" Debug.Print 検索文字
検索文字 = "*" & Replace(検索文字, " ", "* *") & "*" Debug.Print 検索文字
Range("C6").CurrentRegion.AutoFilter 3, Split(検索文字, " "), xlFilterValues End Sub
(稲葉) 2019/12/06(金) 18:12
ありがとうございます。
OR検索のページ、参考にさせてもらいました。
Split関数も同様に参考にします。
関数に関しては、もう少し調べて勉強いたします。
(tentenyun) 2019/12/12(木) 16:28
ありがとうございます。
冊数自体は200-300ぐらいです。
フィルタは別の列でかけられるように設定しているのですが、
応用できないか勉強してみます。
但し、〜は含まない、という検索はしない予定ですので、
書いていただいたもので試用してみます!
ご丁寧に教えていただき、ありがとうございます。
(tentenyun) 2019/12/12(木) 17:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.