質問: Excel VBAで12月をカウントするとバグが起こります。
回答: イミディエイトウインドで?Month(0)としてみてください 12と表示されるはずです。 日付は1900/1/1を1としてそこからの日数で表されています。 (ちなみに2016/8/19と入力して数値表示に書式を変えると42601となります。19001/1から数えて42601日目ということです) なので0は1900/1/0であり1900/1/1の前日としてMonth関数の引数とされると12月と判定されることになります。 空白は0とみなされその月は12月となってしまうのです。 セルに0を入れて書式を日付に変えてるとわかります。