Excel VBAで入力データのチェックをする:日付型とLong型の数値

アプリを作成する場合、タイプミスなどで入力が間違っていないかチェックする方法です。



Homeに戻る > Excel プログラムのTipsへ

Excelで入力された値が、設定している型でなかったり、入力された数値が大きすぎたりした場合、オーバーフローなどのエラーが発生し停止してしまいます。

よく自分以外の人に使ってもらうと、思いがけない操作や思いがけない値を入力される場合があります。

その為、エラーで停止しないよう事前にチェックします。

日付の場合、日付型かどうか、想定している期間内に入っているか等のチェックをします。

数値の場合、文字が含まれていないか、型範囲内の値か、必要な範囲内に入っているか等のチェックをします。

正しくなければ、メッセージを表示し修正を促すことが一般的です。

ここでは、日付のチェックとLong型で正の値であるかのチェックを掲載しています。

このVBAをコピーすれば、そのままで使用できます。

関連するTipsの「テキストボックスの数値入力値チェック」も参照してください。



日付・数値データをチェックするExcelコード

日付のチェック

正しくなければFalseを返します。

Private Function datecheck(scl As String) As Boolean
    Dim lv As Long
    
    datecheck = False
    On Error GoTo ErrRtn
    If IsDate(Range(scl)) Then
        datecheck = True
        Exit Function
    End If
ErrRtn:
    Beep
    Range(scl).Select
    MsgBox "日付が不正です。修正してください。", , "エラー"
End Function




Long型で正の値であるかのチェック

Long型でなければ-1を返します。

Private Function valcheck(scl As String) As Long
    Dim lv As Long
    
    valcheck = -1
    On Error GoTo ErrRtn
    If IsNumeric(Range(scl)) Then
        lv = Val(Range(scl))
        valcheck = lv
        Exit Function
    End If
ErrRtn:
    Beep
    Range(scl).Select
    MsgBox "数値が不正です。修正してください。", , "エラー"
End Function



Homeに戻る > Excel プログラムのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved