ممنون از هر دو بزرگوار
فقط اقا امین من دقیقا همون کد شما رو که گذاشتم از این قسمت خطا میگرفت:
If Len(a(0)) <> 4 Or Len(a(1)) <> 2 Or Len(a(2)) <> 2 Then
و کار نکرد
بعد اومد اینجوریش که کردم درست شد :
کد HTML:
Private Sub TextBox1_Change()
Dim TextStr As String
TextStr = TextBox1.Text
If (Len(TextStr) = 5 And Mid(TextStr, 5, 1) <> "/") Then
TextStr = Left(TextStr, 4) & "/" & Right(TextStr, 1)
ElseIf (Len(TextStr) = 8 And Mid(TextStr, 8, 1) <> "/") Then
TextStr = Left(TextStr, 7) & "/" & Right(TextStr, 1)
End If
TextBox1.Text = TextStr
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim TextStr As String
TextStr = TextBox1.Text
If Len(TextStr) <> 10 Then
MsgBox "wrong format"
TextBox1 = ""
End If
'a = Split(TextStr, "/")
'If Len(a(0)) <> 4 Or Len(a(1)) <> 2 Or Len(a(2)) <> 2 Then
'MsgBox "error"
'TextBox1 = ""
'End If
End Sub
و درست هم کار کرد و مشکلی نداشت.
فقط در یک صورت کار نمیکنه: که کاربر تاریخ رو اشتباه تایپ کنه و بعد به فیلد دیگه ای نره (Event Exit اجرا نشه) و روی دکمه ذخیره کلیک کنه.(در این حالت تاریخ اشتباه ذخیره میشه)
مشکل بالا رو چظور رفع کنم که در هنگام ذخیره هم چک کنه؟
علاقه مندی ها (Bookmarks)