VBA
Excel
検討内容
ユーザーフォームにテキストボックスを2つ用意し
ユーザーがそれぞれのテキストボックス内に8桁で日付を入力します。
例)2021年10月14日 → 20211014
入力された数字を Date型に格納したいと思っています。
できないこと
ユーザーが【20210931】(2021年9月31日)のような
存在しない日付を入力した際に、
エラー【型が一致しません】が発生します。
相談内容
存在しない日付が入力された際に
メッセージボックスでエラー報告をするのは
どのようなコードになるでしょうか?
ご教示お願い致します。
実際のコードは以下の通りです。
VBA
1コード 2'解析期間のスタート エンドを取得する 3 Dim START0 As String 4 Dim START1 As Date 5 Dim END0 As String 6 Dim END1 As Date 7 8 9 START0 = UserForm1.TextBox1.Text 10 END0 = UserForm1.TextBox2.Text 11 12 If START0 = "" Or END0 = "" Then '文字入力がない 13 MsgBox "入力エラー1:解析期間を入力してください!" 14 Exit Sub 15 16 ElseIf Len(START0) <> 8 Or Len(END0) <> 8 Then '8文字指定じゃない 17 18 MsgBox "入力エラー2:期間は8桁指定してく下さい!" 19 Exit Sub 20 21 Else 22 START1 = CDate(Format(START0, "####/##/##")) 23 END1 = CDate(Format(END0, "####/##/##")) 24 25 End If 26
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/14 02:27
2021/10/14 04:23
2021/10/14 04:36
2021/10/14 05:04