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