[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数条件フィルタ』(小梅)
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.