付録
ヤフー知恵袋tru********さんの質問、及び回答
【質問】
先ほど質問したのですが、わかりづらかったので取り消しして再度投稿いたします。
行いたいのは既存データをAND検索、OR検索して、別シートへ抽出するVBAを書きたいです。
Excelにsheet1とsheet2があります。sheet1にはデータが入った表があります。社内の総務宛の質問集ですが、1つのデータに質問と回
答が入っています。データは1000行くらいあります。
このままだと見辛いため、例えばsheet2の検索ボックスに「ABC」とキーワードを入れて検索することで、そのキーワードを含むデータの一覧を抽出し
てsheet2の下にある表へ出したいです。
AND検索の右隣のボックスへ「ABC」と「DEF」と入力して検索することで、両方のワードを含むデータを抽出したいです。
OR検索の右隣のボックスへ「ABC」と「DEF」と入力して検索することで、どちらかのワードを含むデータを抽出したいです。
抽出したデータのクリア機能もつけたいです。
VBAの書き方を教えてください。
【回
答】
下記の内容で作成したファイルを添付します。下記sample3.xlsmクリック下さい。
「sample3.xlsm」ファイル
1.シート名称名称付け
既存データのシート名:「データ表」
AND検索結果書込みシート名:「AND検索」
OR検索結果書込みシート名:「OR検索」
2.「データ表」シートに「フォームコントロール」の「ボタン」を2個貼付ける。それぞれの名称を「AND検索」ボタン、「OR検索」ボタンとする。
3.検索ワードを書き込む表を「AND検索」、「OR検索」のそれぞれのシート上部に作成する。
4.依頼の検索ワードは「データ表」シート内では単純に書かれていますが、通常は長い文書中に含まれているのが大半なので、文書中にあっても検索できるよ
うにしています
5.
データ表の右端のL列、M列にその行が検索されたことが分かるように「済」を書き込むようにしています。
「済」の表示のある行は、既に検索済みであるためその後、ボタンをクリックしても検索対象から除外されます。
6.「AND検索」ボタンのClickのプロシージャに以下のプログラムを書き込みます。
7.「OR検索」ボタンのプロシージャに以下のプログラムを書込みます。
各ボタンをクリックすると検索結果をそれぞれのシートに書き込まれます。