たぶんロケール絡みだろう。 同じバージョンのWindows&Excelだって、ロケールが違うとCDateやIsDateの動作が変わってくるからな。 とりあえずInputBoxとCDateの間に If strInput = "" Then MsgBox "空文字 or キャンセル": Exit Sub If Not IsDate(strInput) Then MsgBox "日付変換不可": Exit Sub って入れてみな。「2007 2」で"日付変換不可"が出るようなら、ロケールの問題でビンゴだ。 その場合は文字列切り出しで年と月を取得しよう。 "日付変換不可"が出ないにしても、文字列切り出しで解決出来るならそれでいいし。