• DİKKAT

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

iki tarih arasindaki fark

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
23 Temmuz 2004
Mesajlar
59
Excel Vers. ve Dili
Excel 2003 - ing
Merhaba arkadaslar,

Asagidaki kod iki tarih arasindaki farki buluyor ama kucuk bir hata var.

mesela

ilk tarih: 09/09/1980
son tarih: 29/10/2009

sonuc olarak: "29 sene, 1 ay ve 49 gun"

aslinda "29 sene, 1 ay ve 20 gun" olmasi lazim



Private Sub CommandButton1_Click()
Dim bDate, tdate As Date
Dim aYear, aMonth, aDay As Integer
Dim result As String


bDate = CDate(DTPicker1.Value)
tdate = CDate(DTPicker2.Value)

aYear = DateDiff("yyyy", CDate(bDate), tdate)
aMonth = (DateDiff("m", CDate(bDate), tdate) Mod (aYear * 12))
aDay = (DateDiff("d", CDate(bDate), tdate) Mod (aYear * 365.25))

result = aYear & " sene, " & aMonth & " ay ve " & aDay & " gun"

TextBox1.Value = result

End Sub


tahminim hata "aDay = (DateDiff("d", CDate(bDate), tdate) Mod (aYear * 365.25))" bu satirda ama ne oldugunu anlayamadim.

Yardimlariniz icin simdiden cok tesekkurler.

Unal
 
Selamlar,

Alternatif olarak aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim T1 As Long, T2 As Long, YIL As Integer, AY As Byte, GÜN As Byte
    
    T1 = CLng(CDate(DTPicker1.Value))
    T2 = CLng(CDate(DTPicker2.Value))
    YIL = Evaluate("=DATEDIF(" & T1 & "," & T2 & ",""y"")")
    AY = Evaluate("=DATEDIF(" & T1 & "," & T2 & ",""ym"")")
    GÜN = Evaluate("=DATEDIF(" & T1 & "," & T2 & ",""md"")")
    TextBox1 = YIL & " Yıl , " & AY & " Ay , " & GÜN & " Gün"
End Sub
 
Tesekkurler sayin Korhan.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst