IsDate関数:値が日付や時刻を表しているかどうかを確認する

IsDate 関数は Excel VBA で用意されている関数の一つで、引数に指定した値が日付や時刻を表しているかどうかを確認します。ここでは Excel VBA における IsDate 関数の使い方について解説します。

(Last modified: )

IsDate関数の定義と使い方

IsDate 関数は引数に指定した値が日付や時刻を表す値かどうかを確認し、「True」または「False」の値を返します。

IsDate(expression)

引数に値を指定します。値が日付や時刻を表している場合は「True」、そうでなかった場合は「False」が戻り値として返されます。

次の例を見てください。

Debug.Print IsDate("2023/01/16")  'True
Debug.Print IsDate("15:04:27")    'True
Debug.Print IsDate(325)           'False
Debug.Print IsDate("2021/14/09")  'False

"2023/01/16" や "15:04:27" はそれぞれ日付や時刻として認識できる文字列となっているので「True」が返されます。数値の 325 は日付や時刻として認識できないので「False」が返されます。また "2021/14/09" は形式として日付の形ですが、月の値が 14 と 12 を超えた値となっているため「False」が返されます。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub IsDate関数()
    Debug.Print IsDate("2023/01/16")
    Debug.Print IsDate("April 05, 1996")
    Debug.Print IsDate("16:30:24")
    Debug.Print IsDate("昭和46年3月7日")
    Debug.Print IsDate("2006/12/40")
    Debug.Print IsDate("08:19:80")
    Debug.Print IsDate("Hello")
    Debug.Print IsDate(22354)
End Sub

IsDate関数の定義と使い方(1)

このプログラムを実行すると IsDate 関数を使って値が日付や時刻を表している値かどうかを確認し、日付や時刻を表す値の場合は「True」、そうでない場合は「False」を返します。形式が日付や時刻の形になっていても、 "2006/12/40" や "08:19:80" のように範囲外の値になっている場合は「False」となります。

IsDate関数の定義と使い方(2)

-- --

Excel VBA における IsDate 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。