[[20111101144553]] 『複数条件フィルタ』(小梅) ページの最後に飛ぶ

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

 

    『複数条件フィルタ』(小梅)

    Excel2010で作成したマクロが以下のものですが
    このままではExcel2003で使用動作できないようです。

    複数条件での検索ができないのだと思いますが
    この場合、2003ではどのように設定すれば良いのでしょう。

    1つだけの条件の場合は 
     ActiveSheet.Range("$A$2:$AP$352").AutoFilter Field:=20, Criteria1:="○"
    とすればよいのだと思いますが
    複数の場合は、どのようにつなげればよいのでしょうか。

    Sub 報告書検索()
    '
    ' 検索 Macro
    Range("A1").Select

    ActiveSheet.Range("$A$2:$AP$352").AutoFilter Field:=20, Criteria1:=Array( _
        "○", "◎", "□"), Operator:=xlFilterValues

    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
    ActiveSheet.Range("$A$2:$AP$352").AutoFilter Field:=16, Criteria1:=Array( _
        "-", "☆", "★"), Operator:=xlFilterValues
    Range("AX1").Select
    End Sub


 2003まででも条件が2つなら Operator:=xlOr で可能だけど、3つだとお手上げだね。
 オートフィルターじゃなく、フィルターオプションかな。
 あるいは、ゴリゴリ、ループさせて条件チェックするか。

 あるいは作業列に=IF(OR(T3="○",T3="◎",T3="□"),1,"") といった式を入れておいて、その作業列で 1 を抽出するとか。

 (ぶらっと)

 フィルタオプション(Advancedfilterメソッド)で一時的に
抽出条件をシートの未使用部分に作成して抽出。
抽出後抽出条件を削除するような形にしておけば、
見た目もコードも共通で使えるのではないでしょうか。
(みやほりん)(-_∂)b

    ぷらっと様
    みやほりん様

    ありがとうございます。
    ループ等の作成いついては、私には難しかったので
    作業列を作成し、そこで抽出するという方法にしました。

    ありがとうございました☆・°:*

    (小梅)

コメント返信:

[ 一覧(最新更新順) ]


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