• ベストアンサー

オートフィルターの使い方

マクロでオートフィルタを使おうと思っているのです。 作成したリストの中で、日付でフィルタしようと思い 下記を作成してみましたがうまくいきません。 Worksheets("シート名").Range("A2").AutoFilter Field:=30, Criteria1:="<=2004/9/30", Operator:=xlAnd = 1, Criterial2:=">=2004/9/1" 条件と致しましては任意の期間(例:2004/9/1~2004/9/30)を抽出条件としたいのですが・・・ 又、セルには空白も存在します。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

No.1です。 だから、 Operator:=xlAnd = 1 これの件は?

tsurushin
質問者

お礼

Operator:=xlAnd = 1を直してうまくいきました 有難うございました

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Sub test01() Range("A1:A8").AutoFilter Field:=1, Criteria1:=">=2004/9/2", Operator:=xlAnd, _ Criteria2:="<=2004/9/23" End Sub で、私のA列に作った例データでは上手く行きました。 気になるのは (1)Range("A2").・・ (2)Operator:=xlAnd = 1, (#1でご指摘) (3)Field:=30(30で良い?)

tsurushin
質問者

お礼

大変参考になりました 有難うございます

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 >うまくいきません。 どううまくいかないのか、が重要なのですよ。 エラーになる? 結果が希望と違う?(どうなってしまうのか?) etc・・・ ざっとみたところ、明らかに、 Operator:=xlAnd = 1 ↓ Operator:=xlAnd ですが、これは単なる記載ミスでしょうか?

tsurushin
質問者

補足

すいません・・・言葉足らずで・・ Worksheets("シート名").Activate Worksheets("シート名").Range("A2").AutoFilter Field:=30,Criteria1:=">=2004/9/1"だとエラーが出ないんです。でも、それだと2004/9/1以降で抽出してしまいますので抽出条件を2004/9/1~2004/9/30に指定したいんです。お分かりいただけましたか? 宜しくお願いいたします。

関連するQ&A