[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートフィルタで日付』(アイ)
こんにちは。
オートフィルタを使って、セルの値から日付を絞り込む方法を教えてください。
Sub Macro1()
Windows("data.xlsx").Activate ActiveSheet.Range("$A$4:$BC$30000").AutoFilter Field:=9, Criteria1:="山田" ActiveSheet.Range("$A$4:$BC$30000").AutoFilter Field:=11, Criteria1:=Range("H2").Value _ , Operator:=xlAnd
End Sub
現在、上記のコードを記述しています。I列目を"山田"で絞り込み、K列目をH2(日付の書かれたセル)で絞り込みをしたいと思っています。が、このコードを実行すると、K列目が空欄になっています。特にエラーは出ません。"H2"もK列目の日付も書式の設定は同じです。何故なのでしょうか。どなたか宜しくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
条件を片方ずつ試しても同じです。"山田"のほうは問題なく絞り込めています。
日付のほうは、data.xlsxのK列にある日付を一つコピーしてH2に張り付けて試してみたのですが、それでもやっぱり空白のセルで絞り込まれているようです。
(アイ) 2015/06/02(火) 13:53
本当ですね、そうかもしれません…。
抽出というブックにコードを記述しているのですが、抽出ブックのH2を検索値にするにはどのように書き換えれば良いのでしょうか。
(アイ) 2015/06/02(火) 13:59
横から失礼いたします
H2の書式を文字列にして、日付(2015/5/1など)を入力してみてください (さいき) 2015/06/02(火) 14:13
日付の AutoFilter は難しいですよ
あるセルの値を条件にフィルタをかけるには
> .AutoFilter Field:=11, Criteria1:=Range("H2").Value _ , Operator:=xlAnd
でなく、Criteria1以上、xlAnd, Criteria2以下、として かつ、セルのValueではなく、Value2プロパティを 不等号で挟むようにしてフィルタかけてください。
.AutoFilter Field:=11, ">=" & Range("H2").Value2 , xlAnd, "<=" & Range("H2").Value2 . (kanabun) 2015/06/02(火) 14:18
kanabunさん
そのままコピペしてみたところ、">=" この部分で 名前付き引数 というコンパイルエラーが出てしまいました。
(アイ) 2015/06/02(火) 14:31
> kanabunさん > そのままコピペしてみたところ、">=" この部分で 名前付き引数 という > コンパイルエラーが出てしまいました。
失礼。Field:= は余分でしたね。 あるいは 引数名を省略せずに全部つけて、以下のようにしてください。
.AutoFilter Field:=11, Criteria1:=">=" & Range("H2").Value2 , Operator:=xlAnd, Criteria2:="<=" & Range("H2").Value2
日付のAutoFilterをするときに、セルの書式は無関係です。 うまく行かないのは、文字列で抽出しようとしたり、セルの値(2015/6/2 とかの日付け)でCriteria1 だけを指定して いるからです。シリアル値(セルのValue2値)を ">=" と "<="で挟んで抽出すれば、セルの書式がどのようなものであろうと 日付データが入っていれば、抽出されます。 . (kanabun) 2015/06/02(火) 15:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.