• DİKKAT

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

İki tarih arasındaki gün sayısı ve uyarı

  • Konbuyu başlatan Konbuyu başlatan muyat
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Forumda arattım ama bulamadım...
ekteki dosyada istedigim şey şu:
A sutununda herhangi bir hücreye bir tarih yazdık diyelim
B sütununda aynı satıra karşılık gelen bir hücreye tarih yazdık diyelim
B sutununa tarih yazınca,iki tarih arasındaki fark 20 günü geçmişse pencerede hata vercek ve mümkünse başlama tarihinden sonra 20.güne ait tarihi de aynı hata penceresinde yazcak...
Şayet tarih 20 günden falza değilse sorun yok zaten.Yardımcı olabilir misiniz.
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp deneyiniz.
Gerekirse kendinize uyarlayabilirsiniz. Doğru tarihi yazmak gibi örneğin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B:B]) Is Nothing Or Target.Row < 2 Or Target.Value = "" Then Exit Sub
    
    If Target.Value - Target.Offset(0, -1) > 20 Then
        MsgBox "Tarih Fazla Oldu, Olması Gereken Tarih : " & Target.Offset(0, -1) + 20
    End If
    
End Sub
 
Necdet hocam güzel ama şöyle bir durum var.
Tarihler diyelimki doğru sorun yok diyelim....O sırada başlangıç tarihini örnegin değiştirip geriye yani daha erken bir tarihe alınca uyarı vermiyor.Bunu da ekleyebilir misiniz.
 
Merhaba,

Yukarıdaki kodlar aynen dursun, yeni kodlar aşağıda

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [A:B]) Is Nothing Or Target.Row < 2 Or Target.Value = "" Then Exit Sub
    
    If Target.Column = 1 And Target.Offset(0, 1) <> "" Then
        If Target.Offset(0, 1) - Target.Value > 20 Then
            MsgBox "Bitiş Tarihi : " & Target.Value + 20 & " Olmalı...."
        End If
    ElseIf Target.Column = 2 Then
        If Target.Value - Target.Offset(0, -1) > 20 Then
        MsgBox "Tarih Fazla Oldu, Olması Gereken Tarih : " & Target.Offset(0, -1) + 20
        End If
    End If
    
End Sub
 
Son düzenleme:
teşekkürler 2.kod istedigim gibi çalışıyor
 
Geri
Üst