- 締切済み
エクセル マクロ advancedfilter
ひとつのセルに複数の英単語がスペースを置いて書かれてあるデータベースから、検索を試みております。 例えば、データベースが Japanese people Made in Japan In the Japanese Music Scene の場合、検索ワードをJapanとすれば、上の3つ全てが抽出されるように設定したい次第です。 基本的なことで恐縮ですが、どなたかVBAの設定方法についてご教示頂ければ幸いです。 何卒よろしくお願い申し上げます。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- rukuku
- ベストアンサー率42% (401/933)
修正です。 >Excelのバージョンによって異なります >2007以降であれば、オートフィルタで「指定の値を含む」があるので >簡単にできます。 Excel2000にも同じ機能があるのを見つけました。 Excel2000以降なら作業列を使わなくてもできます。 >この方法を、マクロで実行することは可能でしょうか? 可能です。A列を条件に抽出する場合は。以下のようにするとできます。 Sub Macro1() Range("A1").AutoFilter Field:=1, Criteria1:="=*japan*", End Sub 補足要求です。 実際の状況が分からないので、これ以上の回答はできません。 以下の事を教えてください 1.フィールド名(各列の見出し)の一覧 2.テーブルの左上のセル番地
- Trick--o--
- ベストアンサー率20% (413/2034)
VBScriptを使った正規表現、Like演算子を使った検索が使えます。 http://officetanaka.net/excel/vba/tips/tips38.htm http://officetanaka.net/excel/vba/tips/tips35.htm
- rukuku
- ベストアンサー率42% (401/933)
おはようございます Excelのバージョンによって異なります 2007以降であれば、オートフィルタで「指定の値を含む」があるので 簡単にできます。 2003以前ですと、工夫が必要です。 A列に元データとしてB列、C列を作業列に使います。 B2に =SUBSTITUTE(LOWER(A2),"japan","☆") C2に =A2=B2 以下、オートフィルとします。 こうしますと、japanを含む場合、C列がFALSEになりますので オートフィルタやアドバンスドフィルタで抽出ができます。 大文字・小文字を区別したい場合にはLOWERを外してください。
お礼
早速にありがとうございます。 この方法を、マクロで実行することは可能でしょうか? もしご存じであれば、是非ともご教示頂ければ幸いです。
お礼
大変ご丁寧な回答ありがとうございました。