[[20100416163219]] 『マクロとオートフィルタの組み合わせ』(ふぴふぴ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロとオートフィルタの組み合わせ』(ふぴふぴ)

Excel2007を使用しています。
マクロを組みたいのですが、現在、5行目にオートフィルタをつけています。例えば、C列に「返品」と入っているものを抽出したいのですが、この時、作業は、

@C1のセルに「返品」と入力する
Aマクロボタンをクリックする
⇒結果;C列でオートフィルタの「返品」を含む、ものが抽出されるという事をしたいです。

うまく説明が出来ませんが、C1のセルに入力してある文字列を、オートフィルタで「含む」という形で検索したいのです。

マクロが分からないのですが、どのように書けばいいかズバリ教えて頂けないでしょうか?
どうぞよろしくお願いします。


 手作業で同じ事をやるのをマクロ記録を取ればそのまま使えると思いますので試してみてください。
 ほとんどズバリのコードと変わらないと思いますので。
 (momo)

今、普通にオートフィルタで絞り込のマクロを作るとこのようになっています

    Rows("5:5").Select
    Selection.AutoFilter
    Selection.AutoFilter
    Range("C4").Select
    Selection.AutoFilter Field:=3, Criteria1:="=*返品*", Operator:=xlAnd

今度は予めA1のセルに、返品と入力しておいて、それをオートフィルタの検索の時に「含む」を選んでA1のセルをコピーして貼りつけて、実行すると「返品」絞りこまれるのですが、A1のセルに他の文字を入力するとまた返品が絞り込まれてしまいます。(以下参照下さい)
私のやり方が全くなってないのだとは思うのですが、どうやったらいいのか分からないのです。。。

    Range("A1").Select
    ActiveCell.FormulaR1C1 = "返品"
    ActiveCell.Characters(1, 2).PhoneticCharacters = "ヘンピン"
    Range("C325").Select
    ActiveSheet.Range("$A$5:$Y$339").AutoFilter Field:=3, Criteria1:="=*返品*", _
        Operator:=xlAnd
    Range("A1").Select
End Sub

教えてください。


 単純にA1セルの値でフィルターを掛けたいという事ですか?
 だとすると
 >   ActiveSheet.Range("$A$5:$Y$339").AutoFilter Field:=3, Criteria1:="=*返品*", _
        Operator:=xlAnd
 この行の
 Criteria1:="=*返品*" 
 この部分がフィルタを掛ける値ですので、そこにA1セルの値という事で
 Criteria1:=Range("A1").Value
 のように変更してみてください。
 (momo)

出来ました!出来ました!
ありがとうございます。本当にありがとうございました。とても嬉しいです。

 Criteria1:="=*返品*" 
 この部分がフィルタを掛ける値で
 A1セルには「返品」だけが入っているので

 Criteria1:="=*" & Range("A1").Value & "*"
  もしくは
 Criteria1:="*" & Range("A1").Value & "*"

 では?

 (HANA)


遅くなりましたが、「含む」形での検索方法、ありがとうございます!!
実は、A1へ「*返品*」と入力して使用しました。
これで、入力時に「*」を入れなくてすみました!!
大変、便利になりました。ありがとうございます!!

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.