Günaydın arkadaşlar,
Aşağıdaki kodlarla ilgili örnek dosya ilişikte, Cancel=True yazılı olan yerde bir sorun var. Şöyleki, hatalı ay veya yıl girişi yapınca aynı textbox`a odaklanma oluyor. Buraya kadar bir sorun yok, ancak textbox`a bir şey yazmadan başka bir texbox`a geçmek istediğimde yine uyarı veriyor. Bu sorunu bir türlü çözemedim.
:kafa:
:kafa:
Lütfen yardımcı olurmusunuz. Saygılarımla
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
If IsDate(TextBox1.Value) Then TextBox1 = Format(TextBox1, "yyyy""/""mm")
If IsDate(TextBox1.Text) = False Then GoTo 10
If Year(TextBox1) < 1996 Or Year(TextBox1) > 2010 Then GoTo 10
Exit Sub
10
MsgBox "HATALI GİRİŞ YAPTINIZ.", vbInformation, "UYARI"
TextBox1 = ""
Cancel = True ' BURADA BİR SORUN VAR AMA ÇÖZEMEDİM.
End Sub
Aşağıdaki kodlarla ilgili örnek dosya ilişikte, Cancel=True yazılı olan yerde bir sorun var. Şöyleki, hatalı ay veya yıl girişi yapınca aynı textbox`a odaklanma oluyor. Buraya kadar bir sorun yok, ancak textbox`a bir şey yazmadan başka bir texbox`a geçmek istediğimde yine uyarı veriyor. Bu sorunu bir türlü çözemedim.
:kafa:
:kafa:
Lütfen yardımcı olurmusunuz. Saygılarımla
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
If IsDate(TextBox1.Value) Then TextBox1 = Format(TextBox1, "yyyy""/""mm")
If IsDate(TextBox1.Text) = False Then GoTo 10
If Year(TextBox1) < 1996 Or Year(TextBox1) > 2010 Then GoTo 10
Exit Sub
10
MsgBox "HATALI GİRİŞ YAPTINIZ.", vbInformation, "UYARI"
TextBox1 = ""
Cancel = True ' BURADA BİR SORUN VAR AMA ÇÖZEMEDİM.
End Sub