Makro ile kıdem günü hatası

Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba üstadlar ekteki dosyada personel giriş tarihinden kıdem günü bulunuyor . Fakat yanlış hesaplama yapıyor yardımcı olursanız sevinirim
 

Ekli dosyalar

Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
yardımcı olucak olan varmıdır
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
ustalar bakarsanız sevinirim
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Aşağıdaki kodları kendi kodlarınıza uyarlayınız.

Kod:
Public Sub Kidem()

    Dim i As Long
    
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
        Cells(i, "G") = Evaluate("=DATEDIF(" & CLng(Cells(i, "F")) & "," & CLng(Date) & ",""Y"")") & " YIL " & _
                        Evaluate("=DATEDIF(" & CLng(Cells(i, "F")) & "," & CLng(Date) & ",""YM"")") & " AY " & _
                        Evaluate("=DATEDIF(" & CLng(Cells(i, "F")) & "," & CLng(Date) & ",""MD"")") & " GÜN"
    Next i
    
End Sub
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Sn. Mukali,

Dosyanın son halini ekleyebilir misiniz?
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba,
Aşağıdaki kodları kendi kodlarınıza uyarlayınız.

Kod:
Public Sub Kidem()

    Dim i As Long
   
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
        Cells(i, "G") = Evaluate("=DATEDIF(" & CLng(Cells(i, "F")) & "," & CLng(Date) & ",""Y"")") & " YIL " & _
                        Evaluate("=DATEDIF(" & CLng(Cells(i, "F")) & "," & CLng(Date) & ",""YM"")") & " AY " & _
                        Evaluate("=DATEDIF(" & CLng(Cells(i, "F")) & "," & CLng(Date) & ",""MD"")") & " GÜN"
    Next i
   
End Sub
Hocam bu hata verdi yada ben uyarlayamadım
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
yil = Year(bg - a(i, 5)) - 1900 & " YIL "
ay = Month(bg - a(i, 5)) & " AY "
gun = Day(bg - a(i, 5)) & " GÜN"

For x = 1 To 5: b(say, x) = a(i, x): Next x
b(say, 6) = yil & ay & gun

Burdaki kısımda yanlışlık var
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Dosyanızdaki giriş tarihi bugünün tarihinden büyük, bu durumda datedif çalışmaz, ya bunu kontrol edeceksiniz ya da ağustos ayında giriş eylül nasıl olur, veriyi düzelteceksiniz.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Necdet hocam en üstteki dosyama göre uyarlama şansınız varmıdır
 

Necdet

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

ben sizin kodlarınızda kaybolduğum için size bıraktım uyarlamayı.
Yaş 65 olunca insan sıkıntıya gelemiyor :(

veriyi diziye almışsınız ama veri 2. satırdan başlıyor, siz veriyi de 2. satırdan alıyorsunuz, dolayısıyla döngüyü de 2. satırdan itibaren başlatınca başlıkları hesaplamaya kalkıyorsunuz.
Onlara dikkat ediniz.
Ayrıca işe başlama tarihini de kontrol etmelisiniz, bugünün tarihinden ileri tarihli girişler yazılmış. Oradaki hesaplamayı atlamanız gerekir.
 
Üst