指定した数値が「日」として妥当かどうかを判定します。
ktIs日( 日, [月], [年] )
返却値 ‥‥‥ Boolean型 日 ‥‥‥ Variant 型 月 ‥‥‥ Variant 型 (省略可、1〜12) 年(西暦) ‥‥‥ Variant 型 (省略可)
True ‥‥‥ 日のみ指定 1≦日≦31
日,月を指定 1≦日≦31(大の月)
1≦日≦30(小の月)
1≦日≦29(2月)
日,月,年を指定 1≦日≦31(大の月)
1≦日≦30(小の月)
1≦日≦29(2月:閏年)
1≦日≦28(2月:閏年以外)
False ‥‥‥ 上記以外(もしくは数値以外、月の内容が不正の場合を含む)
ktIs日( 日 ),ktIs日( 日,月 ),ktIs日( 日,月,年 )の3パターンの指定が可能
テキストボックス等での入力値判定に使用してください。
[Variant]で受けているので、
呼び元での『数値チェック』『数値への型変換』
は必要ありません。
この関数は【数値チェック & 日判定】です。
Private Sub txt日_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If (txt日.Value = "") Then
' 何もしない
ElseIf ktIs日(txt日.Value) Then '[CInt関数による型変換は必要なし]
' 正常
Else
MsgBox "1〜31を入力して下さい"
Cancel = True
End If
End Sub