先日メールで「Date関数の返り値がおかしい」という質問を受けて思い出しました。今回は"役立つテクニック"ではなく、Windowsの設定によって関数の返り値が変わるという"落とし穴"の話です。 VBAで現在の日付を調べるときはDate関数を使います。現在の時刻ならTime関数、日付と時刻を両方同時に調べたいときはNow関数を使います。けっこう基本的なテクニックですし、ご存じの方も多いでしょう。たとえば次のような使い方です。 Sub Sample1() Dim buf As String buf = Now & vbCrLf & Date & vbCrLf & Time MsgBox buf End Sub 実行すると次のようになります。 このとき日付はyyyy/mm/dd形式、時刻はH:mm:ss形式のデータが返りますが、この形式は固定されたものではありません。実はWindowsの設定によ