Doğum günlerine 2 gün kala uyarı versin

Katılım
29 Kasım 2007
Mesajlar
82
Excel Vers. ve Dili
2010 Türkçe İngilizce
Merhaba,
Ekteki dosyada örnek bir müşteri portföyü var bu portföyde bilgilerden biride doğum tarihleri müşteri listesi uzuyacağı için böyle bir koda ihtiyacım olucak doğum tarihi yazılı olan sütunu tarayıp bakacak ve 2 gün kala bir msgboxta "xxxxx kişinin 2 gün sonra doğum günüdür" uyarısı vermesi bunu sağlayacak bir kod örneği bulamadım, teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,260
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Büyük dosyalarda nasıl olur bilmiyorum, bunu da siz söyleyeceksiniz.

Aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalayınız.
Dosya her açılışta Doğum Gününe 2 gün kalan kişileri mesaj olarak verir.

Kod:
Private Sub Workbook_Open()
Dim DTarih As Date
Dim i As Long
Set s1 = Sheets("data")
Dim Mesaj As String
For i = 2 To s1.[F65536].End(3).Row
    DTarih = DateSerial(Year(Date), Month(s1.Cells(i, "F")), Day(s1.Cells(i, "F")))
    If DTarih - Date = 2 Then
        Mesaj = Mesaj & s1.Cells(i, "B") & Chr(13)
    End If
Next i
MsgBox Mesaj, vbCritical, "2 GÜN SONRA DOĞUM GÜNÜ OLANLAR"
End Sub
 
Katılım
7 Temmuz 2004
Mesajlar
327
Excel Vers. ve Dili
office xp pro türkçe
örnek dosyanızda deneme yapılmıştır.

Kod:
Sub dogumgunu()
Dim c As Byte
Dim d As Integer
Dim i As Integer

son = [b65536].End(3).Row
For i = 2 To son

c = Month(Cells(i, 6))
d = Day(Cells(i, 6))
a = c & d

b = Month(Date + 2) & Day(Date + 2)

If a = b Then
MsgBox Cells(i, 2) & " dogum günü 2 gün sonra"
Else
End If
Next
End Sub
 
Katılım
7 Temmuz 2004
Mesajlar
327
Excel Vers. ve Dili
office xp pro türkçe
Necdet Hocamın cvb daha güzel
teşekkürler Necdet Bey
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Kod:
Private Sub Workbook_Open()
Dim D As Worksheet
Dim SUT As Integer
Set D = Sheets("data")
For SUT = 2 To D.Cells(65536, "F").End(3).Row
If Day(D.Cells(SUT, "F")) = Day(Date) - 2 Then
D.Cells(SUT, "F").Offset(0, -4).Select
MsgBox "İki gün sonra " & ActiveCell & "  Un doğum günü"
End If
Next
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,260
Excel Vers. ve Dili
Ofis 365 Türkçe
Bende size teşekkür ederim Sayın Abdi Bey,

Değişik çözümler her zaman ufku açar.
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Ben de şöyle birşey uyarlamıştım... ;)
 
Katılım
23 Temmuz 2007
Mesajlar
117
Excel Vers. ve Dili
Excel 2003
Türkçe
Sayın akgül sizinki daha güzel olmuş düğme iyi fikir tabi Necdet bey'i yabana atmayız düğme fikri güzel elinize sağlık

Esen kalın
 
Katılım
29 Kasım 2007
Mesajlar
82
Excel Vers. ve Dili
2010 Türkçe İngilizce
Herkese ayrı ayrı teşekkür ederim bu kadar kısa zamanda bukadar cevap süpersiniz :)
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Sayın akgül sizinki daha güzel olmuş düğme iyi fikir tabi Necdet bey'i yabana atmayız düğme fikri güzel elinize sağlık
Aslında ben de denetimi açılışta otomatik yaptırdım, ancak çalışma esnasında denetim yapmak gerektiğinde belgeyi aç-kapa yapmamak için aynı kodları bir de düğmeye bağladım...Aslında farkı yok.Tek ayrıntı; kod tanımlamada değişkenlerin, döngülerin vb.lerin tanımlanış biçimleri. Dikkat ederseniz, benim gibilerin hazırladığı kodlar, Necdet Bey, Ziya Bey gibi uzmanlarımızın hazırladığı kodlara göre ya daha uzundur yada daha amatör tanımlamalar içerir...

Bu da gösteriyor ki, amatörlerin kodları uzmanların kodlarından daha iyidir;) :mrgreen: :twisted: :lol: :lol: :lol:
 
Üst