Textbox1 içine tarihten başka hiçbir şey girilmesin

Katılım
20 Aralık 2005
Mesajlar
83
Selam arkadaşlar Textbox'ın içine aşağıdaki kodu kullanarak hücreye tarih atıyorum.

Textbox1 = Format(Textbox1, "dd.mm.yyyy")
Range("a1").Value = Textbox1.Text

Yalnız bir problemim var. Bu textbox'ın içine harf, her hangi bir karakter. Ve mesela 31.12.2006 yerine 31.13.2006 yazılamayacak yani kısaca mantıksız tarih yazılmayacak. Bana bu konuda yardımcı olabilecek kodda yardımcı olabilir misiniz. İlginize şimdiden teşükkürler. Herkese başarılar dilerim.
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Bunu Yolu var ama bence textbox u kilitleyin forma bir calendar kontrolu ekleyin ve calendar her değiştiğinde yani click olayına yukarıdaki formatlı kodunuzu girin.
Kolay gelsin
 
Katılım
23 Mart 2006
Mesajlar
303
Excel Vers. ve Dili
Microsoft Office 2003
Excel 2003
Sayın alpi nin söylemek istediklerini dosyaya dökülmüş halini gönderiyorum.Umarım işinize yarar.

Saygılar
 

Korhan Ayhan

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

Aşağıdaki kodları uygulayınız.

Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value <> "" And Not IsDate(TextBox1.Value) Then
MsgBox "Hatalı tarih girdiniz." _
& Chr(10) & "Lütfen girdiğiniz bilgileri kontrol ediniz." _
& Chr(10) & Chr(10) & "Girdiğiniz Tarih : " & TextBox1.Value, vbExclamation, "UYARI !"
TextBox1.Value = ""
Cancel = True
Exit Sub
Else
Cancel = False
TextBox1.Value = Format(TextBox1.Value, "dd.mm.yyyy")
End If
End Sub
 
Katılım
20 Aralık 2005
Mesajlar
83
Selam arkadaşlar ilginize çok teşekkür ederim. Calendar kontrolü istemedim. Bazı dosyalarımda onu kullandım ama birde bu türlü denemek istiyorum. Yardımlarınız için çok çok teşekkürler
 
Katılım
20 Aralık 2005
Mesajlar
83
COST_CONTROL göndermiş olduğunuz kodlar için çok teşekkür ederim.

Kodu uyguladım. Yalnız bir problemim var mesela 10/13/2006 yazdığımda 13.10.2006 olarak değiştiriyor. Oysa ay bölümünde 13 olmadığı için uyarı versin istiyorum. Tarihi 13.10.2006 olarak çevirmesin istiyorum. Çünkü bu şekilde farkında olmadan hatalı giriş yapıyoruz.

Bu söylediğim mümkün mü? İlginize şimdiden teşekkür eder, başarılarınızın devamını dilerim.

Olmazsa Calendar kontrol ile çalışma yapacağım.
 
Katılım
24 Nisan 2005
Mesajlar
80
[vb:1:066e7c76cf]Private Sub TextBox1_Change()
If Len(TextBox1.Value) = 5 Then
If Right(TextBox1.Value, 2) > 12 Or Right(TextBox1.Value, 2) <= 0 Then
MsgBox "Lütfen Ay bilgisini düzeltiniz"
TextBox1.Value = ""
End If
End If

End Sub[/vb:1:066e7c76cf]

Sayın Soneryen
bu şekilde bir kod işinizi görürmü?
Yanlız tarihler 1/1/2006 şeklinde de girilebilecekse başka yok bulmamız lazım.
 
Katılım
20 Aralık 2005
Mesajlar
83
yok sadece 1/1/2006 şeklinde değil

hem 1.1.2006 şeklinde girilecek, hemde 1,1,2006 şeklinde ve hemde sizin dediğiniz gibi 1/1/2006 şeklinde girilebilecek
 

Korhan Ayhan

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

Ekte size farklı bir örnek hazırladım umarım işinize yarar.

Not : Kodların yazarı değerli moderatörümüz Sn. Haluk beydir.

Kendisine çok teşekkür ederim. :hey:
 
Katılım
20 Aralık 2005
Mesajlar
83
COST_CONTROL

Gerçekten çok güzel olmuş. Bende moderatör Sn. Haluk Bey'e ve size çok çok teşekkür ederim. Bu kodları bir çok yerde kullanacağım.

Başarılarınızın devamını dilerim.


Not: Tavsiye ediyorum indirin bir yerde bulunsun mutlaka kullanacağınız bir yer çıkar. Hemen hemen bütün excel dosyalarında tarih kullanılacak bir yer çıkıyor. yani bende öyle oluyorda :D
 
Üst