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