• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Textboxa yazılan tarih sayfadaki tarihten büyükse başa d

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,668
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekte gönderdiğim dosyada userform üzerinde 3 adet textbox ile tarih kontrolü yapmak istiyorum fakat bir türlü tarih yanlış olunca textbox1 e dönemedim. Birşeyleri hatalı yapıyorum fakat bulamadım.
 
Merhaba

Aşağıdaki kodları sizinkiyle değiştiriniz
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

DEG = Format((TextBox1 & "/" & TextBox2 & "/" & TextBox3), 0)
DEG1 = Format([A1], 0)
If DEG > DEG1 Then
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
End If
End Sub
 
Selamlar,

Zafer bey ilginiz için teşekkürler vermiş olduğunuz kodları denedim fakat yine olmadı. Yanlış tarih yazınca ısrarla textbox4 ü focusluyor bir türlü anlam veremiyorum.
 
Merhaba
Yanlış tarih tenkastınız nedir.

Textbox daki tarih a1 deki tarihten büyükse textbox1'e git.
Değilse textbox4'ü seçer
 
Yanlış tarihten kastım A1 hücresinden büyük bir tarih girdiğimde ısrarla textbox4 ü focusluyor demek istemiştim.
 
Merhaba

Tarih formatlarımız değişik herhalde
 
Selamlar,

Zafer bey eklediğini dosyayı indirdim gayet güzel çalışıyor fakat form üzerine bir adet daha textbox eklediğimde ve tarihide sayfadaki tarihten büyük girdiğimde direk olarak textbox4 focusluyor burasını çözemiyorum neden böyle yapıyor acaba ? (Bu arada kendi çalışmamdada 3 adet textbox ile denediğimde sizin eklediğiniz gibi çalışıyor tarih formatımda bir sorun olduğunu zannetmiyorum başka bir sıkıntı var gibi... ama bulamadım maalesef :!:
 
Merhaba,


Kod:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox1 = "" Or TextBox2 = "" Then Exit Sub
    If IsDate((TextBox1) & "." & (TextBox2) & "." & (TextBox3)) = False Then GoTo hata
    If CDate((TextBox1) & "." & (TextBox2) & "." & (TextBox3)) > CDate(Sayfa1.Range("A1")) Then
        GoTo hata
    Else: Exit Sub
    End If

hata:
    TextBox2 = ""
    TextBox1 = ""
    TextBox1.SetFocus
End Sub
 
Selamlar,

Sn. dost ilginiz için teşekkür ederim.Fakat sonuç değişmedi.

Userform üzerinde 3 adet textbox olunca problem yok aslında kod istediğim gibi çalışıyor fakat form üzerine 4. textboxı ekleyince tarihi sayfadaki tarihten büyük yazdığımda textbox1 yerine textbox4 ü focusluyor (çok garip) tahminimce tarihi bu şekilde 3 adet textbox ile kullanınca çözümü yok gibi görünüyor.
 
Merhaba

Textbox4 un özelliklerinden tabstop seçeneğini false yapın
veya
Kodlarınızı TextBox2_Change olayına yazın
 
Selamlar,

Zafer bey dediğiniz şekilde uyguladım ve istediğim sonuca ulaştım teşekkür ederim. :arkadas:
 
Merhaba

Aşağıdaki değişiklikleri de yaparsanız aynı sonuca ulaşırsınız

kolay gelsin

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

DEG = Format((TextBox1 & "/" & TextBox2 & "/" & TextBox3), 0)
DEG1 = Format([A1], 0)
If DEG > DEG1 Then
TextBox1 = ""
TextBox2 = ""
'TextBox1.SetFocus
Application.SendKeys "+{TAB}"
Application.SendKeys "+{TAB}"
End If

End Sub
 
Selamlar,

Bu çözümde gayet güzel teşekkürler...
 
Geri
Üst