教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】IsDate関数の使い方を教えて!

構文

構文は以下の通りです。

IsDate(変数)

解説

IsDate関数は、与えられた変数が日付として有効かどうかを判定するために使用されます。変数が日付として解釈できる場合はTrueを返し、日付として解釈できない場合はFalseを返します。

引数 指定 内容
変数 必須 数式または文字列式を含むバリアント型 (Variant) の式を指定します。

使用例

IsDate("2023/10/23")
IsDate("平成元年")

使い方

具体的な使い方を紹介します。

例1: セルの値を判定する

Sub CheckDate()
    Dim dateValue As String
    dateValue = Range("A1").Value
    If IsDate(dateValue) Then
        MsgBox "有効な日付です。"
    Else
        MsgBox "日付ではありません。"
    End If
End Sub

この例では、セルA1の値が日付として解釈できるかどうかを判定しています。もしセルA1の値が日付として解釈できれば、「有効な日付です。」というメッセージが表示されます。解釈できない場合は、「日付ではありません。」というメッセージが表示されます。

例2: 入力ボックスの値を判定する

Sub CheckInputDate()
    Dim userInput As String
    userInput = InputBox("日付を入力してください。")
    If IsDate(userInput) Then
        MsgBox "入力された値は有効な日付です。"
    Else
        MsgBox "入力された値は日付ではありません。"
    End If
End Sub

この例では、入力ボックスを表示し、ユーザーが入力した値が日付として解釈できるかどうかを判定しています。解釈できる場合は「入力された値は有効な日付です。」というメッセージが表示されます。解釈できない場合は「入力された値は日付ではありません。」というメッセージが表示されます。

プログラミング例

以下に、プログラミング例を紹介します。

Sub FormatDate()
    Dim dateValue As String
    dateValue = Range("A1").Value
    If IsDate(dateValue) Then
        Range("A1").NumberFormat = "yyyy/mm/dd"
    Else
        MsgBox "有効な日付ではありません。"
    End If
End Sub

この例では、セルA1の値が日付として解釈できる場合、セルA1の表示形式を「yyyy/mm/dd」に変更しています。解釈できない場合は、「有効な日付ではありません。」というメッセージが表示されます。

まとめ

IsDate関数は、与えられた値が日付として有効かどうかを判定するために使用されます。この関数を使うことで、日付の入力や取得した値の正当性を確認することができます。是非活用してください。