電子書籍の厳選無料作品が豊富!

エクセルで検索窓のようなものを作りたいと思っています。
A列には品番、B列にはシリーズ名、C列には対応(○×△)のような表です。

マクロを実行すると、「言葉を入力してください」のようなボックスが出て、そこに文字を入力するとオートフィルタのように抽出してくれるようなものを作りたいのですがどのようにすればいいのでしょうか?
それと、検索はB2にバナナ、B8にチョコバナナ、B10にバナナドリンクのような表だとして、検索窓にバナナと入力すると、B2、B8、B10を抽出してくれるようなものを作りたいと思います。

よろしくお願いします。

A 回答 (3件)

ANo.2です。



補足に対して
>Selection.AutoFilter Field:=3, Criteria1:=a, Operator:=xlAnd
上記コードを
Selection.AutoFilter Field:=3, Criteria1:="*" & a & "*", Operator:=xlAnd
に修正してください。

「含む」なので検索キーワードの前後に
ワイルドカード「*」が必要です。
    • good
    • 0
この回答へのお礼

大変返事が遅くなりましたが無事できました。
ありがとうございました。

お礼日時:2008/05/25 10:38

「オートフィルタ」機能ではダメでしょうか?



「オートフィルタ」で
「バナナ」を「含む」で
表示させることは出来ます。

抽出が、別シートにコピーなら
表示された範囲を選択して貼り付ければOKです。

どうしてもマクロで言うのなら
安直ですが、上記作業を「マクロの記録」で
コードを収得すればよろしいかと。

検索窓は、InputBoxを使いキーワードに変数とすればよいのでは。

この回答への補足

ありがとうございます。
オートフィルタを使いマクロの記録を行った所、
Columns("A:E").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="=*クック*", Operator:=xlAnd
Range("F326").Select
End Sub

になりました。
これを検索窓を表示するため、
a = InputBox("検索したい文字を入力してください。")
Columns("A:E").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:=a, Operator:=xlAnd
Range("F326").Select
に変更したのですがうまくいきません。

どのようにすればいいのでしょうか?

補足日時:2008/02/14 10:26
    • good
    • 0

ご質問の内容に全て具体的に答えるとなりますと


一冊の本ができそうですね ;^_^A

それだけ、VBAの基礎の多くが含まれるご質問となっています
下記のような、本を購入なさってご自身で構文を作ってみて
組み立てが分からない部分や、エラーが出る部分などをご質問なされる方がよろしいかと

かんたんプログラミング Excel 2007 VBA 基礎編
http://www.amazon.co.jp/%E3%81%8B%E3%82%93%E3%81 …

この回答への補足

ありがとうございます。
下の方の補足に書いたようにうまくいきません。

アドバイスお願いします。

補足日時:2008/02/14 10:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!