データは20180918という風に日付が入っています。
日付と勝手に解釈されていますが、
エクセル君はその形式を「日付」と解釈しないと思います。
値としては単なる「整数」か、運がよければ「文字列」と認識されているかも知れません。
まずは、
VBAがどうとかマクロがどうとかではなく、エクセル君の仕様や、エクセル君のオートフィルターの機能の仕様を知ることが肝要かと思います。
そして、、手動で今日のデータを「抽出」出来るようになりましょう。
その結果に基づきコードで指定することによりマクロが作れると思います。
返事が無いようなので追記します。
基本的に、フィルターの抽出条件には「文字列」を指定する仕様です。
そして、特定の日付を(セルのデータが日付として認識され表示されている場合)抽出するときは、
条件1に >=2018/9/18
条件2に <=2018/9/18
と指定して特定の日付を抽出します。
ただし、今回のケースの場合、単に「数値」として入っていると思うので(エクセル君が勝手に解釈しているだけ)、
条件1に単に 20180918 と、入力すれば抽出できるような気がします。
(もちろん文字列と認識されていても同じ)
それか、数値なら =20180918 というような条件になるかも知れません。
(この辺は実験しながら確かめることが自分の為になると考えます。)
抽出条件には「文字列」を入力するのですから、
日付を抽出するときは、見えている表示形式に合わせたら抽出できますが、
上で述べたように比較式で入力すると、シリアル値で比較されますので、
セルの書式の表示形式に影響されませんので、ここは覚えておいてください。
翻ってVBAの話ですが、
ヘルプで、Range.AutoFilter メソッドを検索すると、
Criteria1 オプション バリアント型 (Variant) 抽出条件となる文字列 ("101" など) を指定します。
とあります。
このことからも、文字列で条件を指定する必要があります。
で、実際にどうやるかというと、
VBAにはFormat関数というものがあります。
この関数を使うと、日付を自分好みの様式の「文字列」に変換してくれます。
なので、
VBA
1Range(“A2”).autofilter field:=1, _
2Criteria1:=Format(Date,”YYYYMMDD"), _
3Operator:=xlfilterdynamic
というようにしてやればいいのではないかなぁと思います。
長くなりましたがヒントになれば幸いです。