Yaklaşan tarihleri bildirme

Katılım
13 Temmuz 2016
Mesajlar
613
Excel Vers. ve Dili
Excel 2010 & 2016 Türkçe
Altın Üyelik Bitiş Tarihi
06-03-2020
Merhabalar
A:A sütunda olan son kullanma tarihleri 30 gün ve altında olanlari msgbox ile uyarı vesin.


Böyle bir kod buldum fakat gününde uyarı veriyor.
Kod:
Sub denetle()
    tarih = Format(Now, "dd.mm.yyyy")
    For i = 1 To Sheets("Sayfa1").Range("a65536").End(3).Row
        If tarih = Format(Cells(i, 1), "dd.mm.yyyy") Then
            say = say + 1
            mesaj = "Dikkat : " & vbCr
            msj = msj & Cells(i, 2) & vbCr
        End If
    Next i
    If say >= 1 Then
        MsgBox "Dikkat az günü olan " & say & " kişi var" & vbCr & mesaj & vbCr & msj
    End If
End Sub
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki kodu kullanın.

Kod:
Sub denetle()
    Dim i As Long, say As Long, mesaj As String
    For i = 1 To Sheets("Sayfa1").Range("A" & Rows.Count).End(3).Row
        If DateAdd("d", 30, Cells(i, 1)) >= Now Then
            say = say + 1
        End If
    Next i
    If say >= 1 Then
        MsgBox "Dikkat son ullanma tarihi 30 gün ve daha az olan " & say & " ürün var.", vbCritical
    End If
End Sub
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın dalgalikur ellerinize sağlık, kod gayet güzel çalışıyor.
Küçük bir sorun var galiba, aynı gün, 30 gün ve küçük olanlar 5 olması gerekirken 8 çıkıyor.
Ayrıca sayfada 1.satıra başlık eklediğimde kod hata veriyor.

Bu konuda yardımcı olur musunuz?
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Sayın dalgalikur ellerinize sağlık, kod gayet güzel çalışıyor.
Küçük bir sorun var galiba, aynı gün, 30 gün ve küçük olanlar 5 olması gerekirken 8 çıkıyor.
Ayrıca sayfada 1.satıra başlık eklediğimde kod hata veriyor.

Bu konuda yardımcı olur musunuz?
Sayın ASLAN7410 kodu düzenlerdim. hata varmış.

Kod:
Private Sub Workbook_Open()
    Dim i As Long, say As Long, mesaj As String, Fark As Long
    For i = 2 To Sheets("Sayfa1").Range("A" & Rows.Count).End(3).Row
        If IsDate(Cells(i, 1)) Then
        Fark = Cells(i, 1) - Date
            If Fark > -1 And Fark < 31 Then
                say = say + 1
                Cells(i, 2) = 1
            End If
        End If
    Next i
    If say >= 1 Then
        MsgBox "Dikkat son kullanma tarihi 30 gün ve daha az olan " & say & " ürün var.", vbInformation
    End If
End Sub
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın dalgalikur ellerinize sağlık, şimdi süper oldu.

Hayırlı günler diliyorum.
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Bende hazırlamıştım.Alternatif olsun.
Kod:
Sub auto_Open()
Dim son As Long: Dim s1 As Worksheet
Set s1 = Sheets("Sayfa1")
son = Sheets("Sayfa1").Range("A65536").End(3).Row
mesaj = "Dikkat 30 ve az günü olan : " & vbCr
krt = Date + 30
msj = WorksheetFunction.CountIfs(s1.Range("A2:A" & son), "<=" & CDbl(CDate(krt)), s1.Range("A2:A" & son), "<=" & CDbl(CDate(Date)))
MsgBox mesaj & vbCr & msj & " kişi var"
End Sub
 
Son düzenleme:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın çıtır sizinde ellerinize sağlık, bu da güzel bir çalışma olmuş.

Hayırlı günler diliyorum.
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Sayın çıtır sizinde ellerinize sağlık, bu da güzel bir çalışma olmuş.

Hayırlı günler diliyorum.
Rica ederim.Dönüş yaptığınız için teşekkür ederim.
 
Üst