now は現在の日時を返す関数である。

日付が欲しい場合、Format(now,"YYYYMMDD") で毎回取得するなら問題は出ない。
しかし、日付を簡単に加減したいということでと、nDate = CLng(Format(now,"YYYYMMDD")) というように、数値型の変数に代入する場合は注意が必要である。

このとき、この数値を日付表記に戻した際に、期待した日付になっていないケースがある。
具体的には、正午を過ぎると翌日の日付になってしまっている、ということ。

初期取得時に調整してやれば、あとは問題は生じない。

-------------------------------

2012.09.08 追記
now を格納する変数の型が整数だとこの事象が出る。浮動小数点(doubleで実験した)であれば
問題は生じない。