2024年4月27日土曜日

vbaのautoFilterで日付を指定してフィルターをかけるも思った通りにできない。なんでだろう?

 色々とグぐってみたら、どうやら、日付のフィルターには癖がある。というのは、例えば、2024/4/7と2024/04/27は別物になるようだ。
 これを回避するには、検索の対象列の書式に応じたフィルターをかけるということらしい。
 つまり、検索の列nの書式に応じて、AutoFilter n,Format(検索日,"yyyy/m/d")か、AutoFilter n,Format(検索日,"yyyy/mm/dd")にするを選択するわけだ。
 あるいは、AutoFilter n,Format(検索日,Cells(2,n).NumberForamatLocal)とする。