[[20130618200543]] 『オートフィルタを一発でやり遂げる』(ゆらん) ページの最後に飛ぶ

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

 

『オートフィルタを一発でやり遂げる』(ゆらん)

 D列に発送日 E列に名前
 D2から下に発送日が入力されます。
 その発送日を毎日当日分だけフィルタをかけてコピーして別のブックに貼り付けます。
 最近当日分だけフィルタをかけるのが手間になってきました。

 ざっくりした感じだとこのようなモノです。
  D    E
 発送日	名前
6月18日	ドーナッツ
6月2日	レモン
6月17日	みんな
取り消し	ファイト
6月5日	青い空
保留	ラッパ
6月18日	幸せ
6月19日	ドーナッツ
6月19日	レモン
6月15日	みんな
待ち	ファイト
待ち	青い空
待ち	ラッパ
6月5日	幸せ

 これをボタンひとつでこうなって
 発送日	名前
6月18日	ドーナッツ
6月18日	幸せ
 ボタンひとつで元に戻せたらいいのに...とズボラなことを思いはじめています。

 オートフィルタを面倒くさがるなんて...ですけど、よろしくお願いします。

WindowsXP
Excel2007


 今やっている、そのままをマクロ記録してみた?

 (ぶらっと)

 フィルタオプションで検索条件にTODAY関数を入れておくというのは如何でしょうか?
 指定したセルに検索結果を出すようにしておけば元のリストはいじりませんし。

 (コナミ)

 日付はシリアル値で、表示形式で6月18日となっているとして、マクロの記録をとってみました。
(usamiyu)

 するとこんな風になりますね。
 Sub Macro3()
' Macro3 Macro
' マクロ記録日 : 2013/6/18
    Columns("D:D").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="6月18日"
    Range("D2").Select
End Sub

 ということは、引数Criteriaにはセルの表示形式のとおりの日付を文字列で指定する必要ありってことですよね。
 で、当日の日付を得る関数はVBAではDateになるので、Dateで求めた日付をセルの表示形式のようにしてあげれば
いいんじゃないかなぁ。
 次のようにしてみるとどうでしょう。

 Sub オートフィルタをかける()
    Dim myDate As String
    myDate = Format(Date, "m""月""dd""日""")
    Range("D1").AutoFilter Field:=1, Criteria1:=myDate  'Fieldはリストの左端から数えた番号    
 End Sub
 Sub オートフィルタを解除する()
    Range("D1").AutoFilter
 End Sub


 2007ですと、日付フィルタの中に「今日」という項目がありますので、ユーザー設定のビューなども如何でしょうか?

 今日でフィルタした状態で、表示タブ→ユーザー設定のビュー→追加ボタン→お好きな名前を付ける→OK

 これでフィルタの条件が登録されましたので、次の日になったら、再度ユーザー設定のビューを選択し、
 登録している名前をクリックすれば、今日の日付でフィルタされます。
 オートフィルタをクリアするときはフィルタボタンの横のクリアで。

 (コナミ)


 2007以降だと「今日」っていうフィルタがあるんですね。いいなぁ。色フィルタもあるみたいですし。
あとで2010が入っている別PCで見てみようっと。

 ところで自分のコメント、ひとつのプロシージャにまとめてみました。
現在選択しているシートがオートフィルタ設定してなければ、今日の日付でフィルタ、してあれば
オートフィルタ解除します。これをボタン登録するとどうかな。
 Sub オートフィルタ設定解除()
    Dim myDate As String
    If ActiveSheet.AutoFilterMode = False Then
        myDate = Format(Date, "m""月""dd""日""")
        Range("D1").AutoFilter Field:=1, Criteria1:=myDate  'Fieldはリストの左端から数えた番号
    Else
        Range("D1").AutoFilter
    End If
 End Sub
 (usamiyu)

 ありがとうございます。

 実は「今日」というフィルタがあるのを...今日発見しました。

 これで全然OKです。

 今まで数ある日付の中から今日の日付を探してフィルタをかけていたので
 それに比べてずいぶん早く出来ました。

 ぶらっとさま
 コナミさま
 usamiyuさま

 お礼が遅くなりましたが、とても参考になりました。

 ところでコードも書いていただいておりますのでぜひともそちらも参考にさせてください。
 ありがとうございました。
 ゆらん


コメント返信:

[ 一覧(最新更新順) ]


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