Merhabalar. Arkadaşlar bayağı bir araştırma yaptım ama excel'de textbox biçim ayarı yok sanırım, access'e alıştım onda kolay ama excel'de bu işi nasıl yaparız bir türlü bulamadım, referencess te gerekli kütüphaneler yok , nereden bulacağımı bilemiyorum, forumlarda kütüphane ekleme olayları var, inceliyorum ama benim 64 bit onlar 32 bit üzerine vesair... şimdilik tek sorunum textbox'a normal sayıları gireceğim ama çıkarken noktalı tarih biçimini alsın istiyorum, dediğim gibi bunula ilgili kodlar var ama işlemiyor, bu konuda yardımcı olursanız çok sevinirim, teşekkürler, dosyayı yükledim.
Textbox Biçim Ayarları
Yani tarihi slash veya nokta kullanmadan girmek istiyorum, textbox'tan çıkarken kendisi aralara nokta koysun, hızlılık adına. Onu halledersem şimdilik tamam.
Son Düzenleme: 15/06/2022, 20:56, Düzenleyen: tarkanaykın.
Bu durumda hata yapma ihtimaliniz olmaz mı?
8 haneliyse 2 2 4 ayırmada sorun yok Ama bu durumda bile önce ay hanesinin 12den büyük olup olmadığı
Sonra da eğer 2. ay ise gün hanesinin yila gore 28-29 kontrolu yapilmasi gerek
son olarak da gün kontrolü yapılmalı
7 haneli ise son 4 basamak yıl olarak alınıp geriye kalanlar yine ay ve gün uyumuna gore kontrol edilmeli...
Yani teferruatlı bir kontrol gerekli
Tabi sadece 8 hane girince tarıh mi diye kontrol edilip uygun olmadığında yada 8den küçükse uyarı verip alanı boşaltma da bilir
8 haneliyse 2 2 4 ayırmada sorun yok Ama bu durumda bile önce ay hanesinin 12den büyük olup olmadığı
Sonra da eğer 2. ay ise gün hanesinin yila gore 28-29 kontrolu yapilmasi gerek
son olarak da gün kontrolü yapılmalı
7 haneli ise son 4 basamak yıl olarak alınıp geriye kalanlar yine ay ve gün uyumuna gore kontrol edilmeli...
Yani teferruatlı bir kontrol gerekli
Tabi sadece 8 hane girince tarıh mi diye kontrol edilip uygun olmadığında yada 8den küçükse uyarı verip alanı boşaltma da bilir
Sayın @tarkanaykın
Değerli Hocalarım @berduş ve @atoykan ın yönlendirmeleri ile Microsoft Access ve Excel eğitimlerime devam ediyorum. Onlar kadar bilgili olmasamda daha önce sorunuza benzer bir araştırma yapmıştım. Excel formlarında giriş maskesi kullanılabilir mi, nasıl uygulanır araştırırken aşağıdaki örnek kodu buldum ve kullandım. Sizin de işinize yaramasını dilerim.
İyi çalışmalar diler, saygılar sunarım.
Murtaza AF
Değerli Hocalarım @berduş ve @atoykan ın yönlendirmeleri ile Microsoft Access ve Excel eğitimlerime devam ediyorum. Onlar kadar bilgili olmasamda daha önce sorunuza benzer bir araştırma yapmıştım. Excel formlarında giriş maskesi kullanılabilir mi, nasıl uygulanır araştırırken aşağıdaki örnek kodu buldum ve kullandım. Sizin de işinize yaramasını dilerim.
Kod:
Dim NewString, MyString, mask As String
Dim position, pos As Variant
Private Sub TextBox1_Change()
If IsNumeric(Right(TextBox1.Text, 2)) And Len(TextBox1.Text) >= 11 Then
TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)
Else
position = TextBox1.SelStart
MyString = TextBox1.Text
pos = InStr(1, MyString, "_")
If pos > 0 Then
NewString = Left(MyString, pos - 1)
Else
NewString = MyString
End If
If Len(NewString) < 11 Then
TextBox1.Text = NewString & Right(mask, Len(mask) - Len(NewString))
TextBox1.SelStart = Len(NewString)
End If
End If
If Len(TextBox1.Text) >= 11 Then
TextBox1.Text = Left(TextBox1.Text, 10)
End If
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim strDate As String
strDate = Me.TextBox1
If IsDate(strDate) Then
strDate = Format(CDate(strDate), "DD/MM/YYYY")
MsgBox strDate
Else
MsgBox "Wrong date format"
End If
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
position = TextBox1.SelStart
If KeyCode = 8 Then
TextBox1.Text = mask
End If
End Sub
Private Sub UserForm_Initialize()
TextBox1.SelStart = 0
mask = "__/__/____"
TextBox1.Text = mask
End Sub
Murtaza AF
Son Düzenleme: 16/06/2022, 13:00, Düzenleyen: MURTAZAAF.
(Sebep: imla hatalarını düzeltmek)
aşağıdaki kodu sayın @Oğuz Türkyılmaz konusundaki dosyasında kullanmıştı, ihtiyacınızı karşılayabilir
TarihKutusu.MaxLength = 10
Select Case TarihKutusu.SelStart
Case Is = 2, 5
TarihKutusu.SelText = "."
End Select
If Len(TarihKutusu) = 10 And Not IsDate(TarihKutusu) Then
TarihKutusu = ""
MsgBox "Hatalı tarih girdiniz, lütfen kontrol ediniz.", Title:="KT GRUP Poliçe Takip"
Exit Sub
End If
Konuyu Okuyanlar: 1 Ziyaretçi