• DİKKAT

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

Hücreye istenilen formatta tarih girme zorunluğu şartı

Katılım
14 Ocak 2005
Mesajlar
807
Excel Vers. ve Dili
Microsoft Office Professional Plus 2021
Merhaba arkadaşlar,
D2 hücresine 10.12.2016 ve E2 hücresinede 12.12.2016 şeklinde tarih yazdığım bir raporum var.
Bu raporumda D2 ve E2 hücresine illa bu yukarda yazdığım formatta tarih girilmesini kullanıcıya mesajda da göstererek VBA kodlarım çalışmadan ilk bu kontrolü yapıp öyle çalışmasını nasıl zorun kılarım.
birde Tabiki D2 her zaman E2 hücresinin tarihinden küçük olacak bu kontrolüde yapmak istiyorum. Aksi durumlarda kullanıcıyı uyarıp yine hata hangi hücrede ise o hücreye kursör focuslansın.
Biraz çok şey mi istedim ama çok sorun oluyor bazen.
Saygılarımla.
 
Merhaba,

Kodları dener misiniz? Anlaşılması açısından uzun yazdım.

Kod:
Sub Kontrol()

    If IsDate(Range("D2")) = False Then
        MsgBox "D2 yanlış"
        Exit Sub
    End If
    
    If IsDate(Range("E2")) = False Then
        MsgBox "Tarihleri Kontrol Ediniz....", vbCritical
        Exit Sub
    End If
    
    If Not Range("D2") < Range("E2") Then
       MsgBox "D2 deki tarih E2 deki tarihten küçük değil.."
       Exit Sub
    End If
        
End Sub
 
Sayın Necdet bey E2 hücresine 08.12.126 bu şekilde bir tarih girdim ama exit sub çalışmadı sorguyu çalıştırdı ve hata vermesine nedenoldu.
Bu şekilde bir tarih yazıldığı zaman nasıl kontrol edeceğiz daha doğrusu tarih yazılmadığı zaman :)
 
Merhaba,

Bu kodu dener misiniz?

Kod:
Sub deneme()

If IsDate(Range("D2")) = False Then
MsgBox "D2 Yanlış"
End If

If IsDate(Range("E2")) = False Then
MsgBox "E2 Yanlış"
End If

If Not Range("D2") < Range("E2") Then
       MsgBox "D2 deki tarih E2 deki tarihten küçük değil.."
       Exit Sub
    End If

Range("D2:E2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="1/1/1900", Formula2:="12/31/2079"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = "Tarih Bilgisini Hatalı Girdiniz"
        .InputMessage = ""
        .ErrorMessage = "Lütfen gg.aa.yyyy formatında giriş yapınız."
        .ShowInput = True
        .ShowError = True
    End With

End Sub

Kolay gelsin. Bende hata vermedi. E2 hücresine 08.12.156 yazdım ve
 

Ekli dosyalar

  • Tarih.jpg
    Tarih.jpg
    19.8 KB · Görüntüleme: 4
Son düzenleme:
Geri
Üst