Private Sub Worksheet_Change(ByVal Target As Range) hk.

Katılım
15 Kasım 2007
Mesajlar
336
Excel Vers. ve Dili
iş: 2010 İngilizce

ev:2010 Türkçe
Altın Üyelik Bitiş Tarihi
07.08.2023
Merhaba,


Belli kolonlara sadece 01.01.2015 formatında tarih yazılabilmesiyle ilgili yardımınızı rica ederim. Format dışı bir data girildiğinde uyarı vermeli ve doğru format girilene kadar başka veri girişine izin vermemeli Teşekkürler.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,655
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B:B")) Is Nothing And Target.Value <> "" Then
        Application.EnableEvents = False
        cancel = True
        If Not IsDate(Target.Value) Then
            Target.Select
            'Target.ClearContents
            MsgBox "Geçerli bir tarih giriniz.", vbCritical
        End If
        Application.EnableEvents = True
    End If
End Sub
 
Katılım
15 Kasım 2007
Mesajlar
336
Excel Vers. ve Dili
iş: 2010 İngilizce

ev:2010 Türkçe
Altın Üyelik Bitiş Tarihi
07.08.2023
Teşekkürler ama kullanıcı 11,10,2015 olarak da giriş yapabiliyor. Benim istediğim sadece noktalı formatla giriş yapabilmeli 11.10.2015 olarak.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,655
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B:B")) Is Nothing And Target.Value <> "" Then
        Application.EnableEvents = False
        cancel = True
        If Not IsDate(Target.Value) Then
            Target.Select
            'Target.ClearContents
            MsgBox "Geçerli bir tarih giriniz.", vbCritical
            Else
            Target.Value = Format(Target.Value, "dd.mm.yyyy")
        End If
        Application.EnableEvents = True
    End If
End Sub
 
Katılım
15 Kasım 2007
Mesajlar
336
Excel Vers. ve Dili
iş: 2010 İngilizce

ev:2010 Türkçe
Altın Üyelik Bitiş Tarihi
07.08.2023
Bu şartın yanına A sütunundaki tarih, B dekinden küçükse de tarih küçük olamaz uyarısı verebilir mi?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,655
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B:B")) Is Nothing And Target.Value <> "" Then
        Application.EnableEvents = False
        cancel = True
        If Not IsDate(Target.Value) Then
            Target.Select
            'Target.ClearContents
            MsgBox "Geçerli bir tarih giriniz.", vbCritical
        Else
            Target.Value = Format(Target.Value, "dd.mm.yyyy")
            If CDate(Target.Offset(0, -1).Value) <= CDate(Target.Value) Then
                MsgBox Target.Offset(0, -1) & " tarihinden daha küçük bir tarih giriniz.", vbCritical
                Target.Select
            End If
        End If
        Application.EnableEvents = True
    End If
End Sub
 
Katılım
15 Kasım 2007
Mesajlar
336
Excel Vers. ve Dili
iş: 2010 İngilizce

ev:2010 Türkçe
Altın Üyelik Bitiş Tarihi
07.08.2023
Merhaba,

Çalışıyor fakat B sütununa şartı sağlamayan tarih formatında olmayan 5464564 gibi büyük bir sayı yazdığımda Run time error 6 owerflow hatası alıyorum. Böyle durumda da hatalı data uyarısı almalıyım
 
Üst