Excel VBAで複数のコントロール(テキストボックス)で同じ処理(入力された値が日付かどうか判定し、違う場合は再入力を促す)をしています。
2点質問があります。
1.checkdate(textboxA)の「textboxA」の部分を「Me」などのように
どのテキストボックスでも同じ表記に変更することはできますでしょうか。
2.クラスという考え方があるそうですが、今回の場合、利用できますでしょうか。
VBA
1Private Sub textboxA_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) 2 Cancel = checkdate(textboxA) 3End Sub 4 5Private Function checkdate(ByVal ctrl As MSForms.Control) As Boolean 6 checkdate = False 7 If ctrl Like "########" Then ctrl = Format(ctrl, "@@@@/@@/@@") 8 If Not (IsDate(ctrl)) Then 9 MsgBox "日付を入力してください。" 10 checkdate = True 11 Exit Function 12 End If 13 ctrl = CDate(ctrl) 14End Function
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/12 09:34