[[20141210130733]] 『VBA オートフィルタでセルに入力した条件を抽出ax(たろう) ページの最後に飛ぶ

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

 

『VBA オートフィルタでセルに入力した条件を抽出する』(たろう)

 C1セルに入力した日付をVBAで抽出しようとコードを考えたのですが、
 C1セルに入力した日付以外も一緒に表示されてしまいます。
 何がわるいのか検討もつきません。
 どなたかアドバイスお願いします。

 Sub 抽出()

 Range("A4").AutoFilter Field:=2, Criteria1:=">=" & Format(Range("C1"), "yyyy/mm/dd")

 End Sub

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 > C1セルに入力した日付以外も一緒に表示されてしまいます。
 抽出するコードも同じ様にしたらいかがですか?

 つまり →  Format(Range("C1"), "yyyy/mm/dd")

 (本当にそれでいいのかどうか分かりませんけど、それぐらいしか情報がないので・・・)

(半平太) 2014/12/10(水) 13:55


 半平太様
 ありがとうございます。

 情報追記します。

 C1セル:2014/1/10

 2014/1/1
 2014/1/1
 2014/1/1
 2014/1/1
 2014/1/1
 2014/1/2
 2014/1/1
 2014/1/4
 2014/1/5
 2014/1/6
 2014/1/7
 2014/1/8
 2014/1/9
 2014/1/10
 2014/1/11
 2014/1/12

 この状態でマクロを実行すると
 2014/1/10
 2014/1/11
 2014/1/12

 C1セルに入力した値以降の日付が全て表示されるようです。
 
 教えて頂いた内容でちょっと試してみます。

(たろう) 2014/12/10(水) 14:33


コード上エラーにはならなかったのですが、
なにも抽出されませんでした。

 Sub 抽出()

 Range("A4").AutoFilter Field:=2, Criteria1:=Format(Range("C1"), "yyyy/mm/dd") & Format(Range("C1"),    "yyyy/mm/dd")

 End Sub
(たろう) 2014/12/10(水) 14:45


 条件2も追加してください。

 たしか、たぶん。書き方を忘れた。
 こんな感じに。
 BJ

 Range("A4").AutoFilter Field:=2, Criteria1:=">=" & Format(Range("C1"), "yyyy/mm/dd",Criteria2:="<=" & Format(Range("C1"), "yyyy/mm/dd",))

 ああ、第2の方は、日付を1日プラスして、"<" の方が良かったかも。

 BJ様
 ありがとうございます。条件2も指定するんですね。
 やってみます。ありがとうございます。
 (もしかして半平太様も同じ意味合いだったのでしょうか?理解できてなくてすみません)
(たろう) 2014/12/10(水) 15:33

 Dim 日付 As Date

 日付 = Range("C1").Value
 Range("A4").AutoFilter Field:=2, Criteria1:=DateSerial(Year(日付), Month(日付), Day(日付))

 みたいな感じでもいいのかな。
 A列とC1セルの形式がyyyy/mm/dd形式じゃないのでこだわらなくてもいいかなと思いまして・・・。
(se_9) 2014/12/10(水) 15:37

 まだVBAを始めたばかりなので、いろいろ不明な部分がたくさんがありますとりあえずできました!

 Range("A4").AutoFilter Field:=2, Criteria1:=">=" & Format(Range("C1"), "yyyy/m/d"),Operator:=xlAnd, _Criteria2:="<=" & Format(Range("C1"), "yyyy/m/d")

(たろう) 2014/12/10(水) 15:42


 se_9様
 アドバイスありがとうございます。
 一度自分で打ちこんで確認してみます!

(たろう) 2014/12/10(水) 15:44


 1.">="は【以上】なので、 1/10以上 と言うと 1/10・1/11・1/12 が当てはまる
   同じ値なら "="

 2.日付の表示形式に左右されるので、B列に 2014/1/1 と表示されているなら
   抽出も "yyyy/m/d" で指定する
  
(HANA) 2014/12/10(水) 15:50

コメント返信:

[ 一覧(最新更新順) ]


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