ExcelVBA:ダイアログにて入力データ形式のチェックをするサンプルコード

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

ExcelVBAでダイアログを表示して、ユーザー入力値を指定の形式/条件で入力されているかチェックするサンプルコードです。
以下のコードでは、IsDate() 関数を使って、日付の形式で入力がされているかどうかチェックしています。

Loop Until IsDate(UserInput)

また IsDate() の他にも、IsNull(),IsNumeric() などの標準の関数もありますが、以下のような式でTrue/Falseの判定を行うことも可能です。

Loop Until x=100

以下はExcelVBAにて、ダイアログを表示した上で、ユーザーに入力をしてもらい、その入力値が日付形式で入力されているかチェックし、A1セルに入力された値を表示するサンプルコードです。

Sub Sample()
    Dim UserInput As String
    '日付形式で入力されるまでループ
    Do
        UserInput = InputBox("日付を入力してください!")
    Loop Until IsDate(UserInput)
    '入力された値の簡易チェック
    If UserInput <> "" Then
        Range("A1").Value = UserInput
    End If
End Sub

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.