|
Hirofumiさん、わざわざ考えていただいて大変ありがとうございます。
私がやりたいのは月日のみそれぞれ2桁づつ入力するTextBoxで、
年は入力しなくてもよいようなものです。
例えば、2月3日ならば0203、10月30日なら1030のような形の4桁のTextBoxです。
入力のあとから、その4桁のみで他の処理が必要なため、年の2桁は出力したくないのです。
年の入出力なしで、日付のみのチェックは可能なのでしょうか???
>例えばこんなやり方をしたら?
>一応、UserFormのTextBoxのBeforeUpdateイベントで考えて見ました
>年の部分を仮にDate(システムの日付 今日)引っ張ってきて
>日付の体裁にしてIsDataで調べています
>また、必要ないかも知れませんがOkなら、TextBoxにOkの文字列を戻しています
>ただ、年の部分をDateで取得しているので、
>今年が閏年で無いと0229は日付と見とめられませんが?
>
>Private Sub TextBox1_BeforeUpdate(ByVal Cancel _
> As MSForms.ReturnBoolean)
>
> Dim strTmp As String
>
> With TextBox1
> If .Value <> "" Then
> strTmp = Year(Date) & "/" _
> & Left(.Value, 2) _
> & "/" & Mid(.Value, 3)
> If Not IsDate(strTmp) Then
> Beep
> MsgBox "日付と認識できません"
> Cancel = True
> Else
> .Value = strTmp
> End If
> End If
> End With
>
>End Sub
|
|