Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAでyyyymmdd形式の8桁の数字が日付かチェックする-IsDate関数・Format関数

VBAでyyyymmdd形式の8桁の数字が日付かチェックする-IsDate関数・Format関数

対象:Excel2007, Excel2010, Excel2013

「excel vba yyyymmdd値 日付チェック」
「excel マクロ 8桁日付チェック」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あることに気づきました。

yyyymmdd形式の8桁の数字が日付として扱えるデータかどうかをチェックする、Excelマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

[スポンサードリンク]

IsDate関数による日付チェック

まずは、基本を確認しましょう。VBAでデータが日付かどうかを判定するにはIsDate関数を使います。

Sub 日付チェックを行う()

 If IsDate(ActiveCell.Value) Then
  MsgBox "日付です。"
 Else
  MsgBox "日付ではありません。"
 End If

End Sub

アクティブセルに入力されている値が日付データなら「日付です。」日付データでなければ「日付データではありません。」というメッセージが表示されます。

8桁のyyyymmdd形式の数字をFormat関数で整形後に日付チェック

で、yyyymmdd形式の8桁の数字が日付データとして扱えるかどうかのチェックは、Format関数で整形してから行いましょう。

Sub 日付チェックを行う_yyyymmdd()

 If IsDate(Format(ActiveCell.Value, "@@@@/@@/@@")) Then
  MsgBox "日付です。"
 Else
  MsgBox "日付ではありません。"
 End If

End Sub

例えば、アクティブセルに「20150701」という8桁の数字が入力されているときに、「Format(ActiveCell.Value, "@@@@/@@/@@")」の結果は「2015/07/01」になり日付として扱えるので、「日付です。」というメッセージが表示されます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAでyyyymmdd形式の8桁の数字が日付かチェックする-IsDate関数・Format関数

「VBA関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.