• DİKKAT

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

Tarih Farkı Yıl olarak

  • Konbuyu başlatan Konbuyu başlatan AKTAY27
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Şubat 2007
Mesajlar
241
Excel Vers. ve Dili
OFİS XP TÜRKÇE
Tarih Farkı Yıl, sorun yaşıyorum

selam arkadaşlar;

iki tarih arasındaki farkı yıl olarak almak istiyorum. örneğin kişinin işten çıkış tarihi varsa işten çıkış tarihinden, işe başlama tarihini çıkartıp yıl olarak görmek istiyorum. eğer işten çıkış tarihi yoksa günün tarihinden çıkartmasını sağlamak istiyorum ama olmadı biyerlerde eksiklik var bulamadım.
yardımlarınızı bekliyorum teşekkürler.
'--------------------------------------------------------------------------
Sub kıdem()
Dim tarih As Date
Set s2 = Sheets("PERSONELKARTLARI")
son = s2.Cells(65536, 5).End(3).Row
For i = 13 To son

If s2.Cells(i, 6) <> "" Then
v1 = s2.Cells(i, 5).Value 'Başlangıç Tarihi
v2 = s2.Cells(i, 6).Value 'Bitiş Tarihi
v3 = tfyıl(v1, v2)
s2.Cells(i, 7).Value = v3
Else

If s2.Cells(i, 6) = "" Then
v1 = s2.Cells(i, 5).Value 'Başlangıç Tarihi
v2 = tarih 'Bitiş Tarihi
v3 = tfyıl(v1, tarih)
s2.Cells(i, 7).Value = v3
End If

Next
End Sub
'------------------------------------------------------------------------

Function tfyıl(Tarih1 As Date, Tarih2 As Date, Optional Tur As Integer) As String


Dim y, A, G As Integer
Dim Temp1, Temp2 As Date
Application.Volatile
Temp1 = DateSerial(Year(Tarih2), Month(Tarih1), Day(Tarih1))
Temp2 = DateSerial(Year(Tarih2), 0, 0) - DateSerial(Year(Tarih1), 0, 0) 'Tam Yıldaki Gün sayısı
y = Year(Tarih2) - Year(Tarih1) + (Temp1 > Tarih2)
A = Month(Tarih2) - Month(Tarih1) - (12 * (Temp1 > Tarih2))
G = Day(Tarih2) - Day(Tarih1)
If G < 0 Then
A = A - 1
G = Day(DateSerial(Year(Tarih2), Month(Tarih2), 0)) + G
End If

If Tur = 0 Then Tur = 7
tfyıl = Choose(Tur, Tarih2 - Tarih1, _
A + (y * 12), _
y, _
A, _
(Tarih2 - Tarih1) - Temp2, _
G, _
y) 'sadece yılı gösterir

End Function
 

Ekli dosyalar

Son düzenleme:
sayın arif yılmazer ilgininiz için teşekkür ederim ama
formülle değilde macro ile yapmam lazım dosya yeterikadar ağır birde formül eklenince çekilmez hal alıyor.

örnek dosyada ilgili macrolar var fakat ben kendime uyarlıyamadım. biyerde yanlışlık yapıyorum onu bulamadım. yinede teşekkürler.
 
hadi arkadaşlar allah rızası için biriniz cevap verin
 
işi gücü bıraktım cevap bekliyorum bütün işlerim bu cevaba bağlı
 
Geri
Üst