Yaş Hesaplama

Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Değerli üstatlar çalışma sayfamın A sütununda gün ay yıl şeklinde doğum tarihleri var. Benim yapmak istediğim B sütununa yaşları yazdırmak. Tabiki hesaplama yaparken gün ve ayıda hesabın içine katsın istiyorum. Yardımlarınız için şimdiden teşekkürler
 

Ekli dosyalar

Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
B2 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=EĞER($A2<>"";ETARİHLİ($A2;BUGÜN();"y");"")
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
B2 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=EĞER($A2<>"";ETARİHLİ($A2;BUGÜN();"y");"")
Teşekkürler sayın çıtır hocam bunu makro ile de yapmak mümkün mü acaba çünkü listem sürekli artmakta
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Bu şekilde olabilir.
Kod:
Sub yashesapla()
Dim s1 As Worksheet: Dim i As Integer
Dim son As Long
Set s1 = Sheets("Sayfa1")
Application.ScreenUpdating = False
son = s1.Cells(63555, "A").End(3).Row
s1.Range("B2:B" & son).ClearContents
For i = 2 To son
If Range("A" & i) <> "" Then
 s1.Range("B" & i).Formula = "=DATEDIF(A" & i & ",TODAY(),""Y"")"
 s1.Range("B" & i).Value = s1.Range("B" & i).Value
 End If
Next i
Application.ScreenUpdating = True
MsgBox "İşlem tamam"
End Sub
 

Necdet

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

Kod:
Sub Makro1()

    Dim i As Long
   
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
        If Not Cells(i, "A") = "" Then _
        Range("B" & i).FormulaR1C1 = _
            "=DATEDIF(RC[-1],TODAY(),""Y"") & "" YIL "" & DATEDIF(RC[-1],TODAY(),""YM"") & "" AY "" & DATEDIF(RC[-1],TODAY(),""MD"") & "" GÜN"""
    Next i
   
End Sub
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Bu şekilde olabilir.
Kod:
Sub yashesapla()
Dim s1 As Worksheet: Dim i As Integer
Dim son As Long
Set s1 = Sheets("Sayfa1")
Application.ScreenUpdating = False
son = s1.Cells(63555, "A").End(3).Row
s1.Range("B2:B" & son).ClearContents
For i = 2 To son
If Range("A" & i) <> "" Then
s1.Range("B" & i).Formula = "=DATEDIF(A" & i & ",TODAY(),""Y"")"
s1.Range("B" & i).Value = s1.Range("B" & i).Value
End If
Next i
Application.ScreenUpdating = True
MsgBox "İşlem tamam"
End Sub
Teşekkürler sayın çıtır tam istediğim gibi çok teşekkür ederim
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Merhaba,
Alternatif olsun.

Kod:
Sub Makro1()

    Dim i As Long
  
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
        If Not Cells(i, "A") = "" Then _
        Range("B" & i).FormulaR1C1 = _
            "=DATEDIF(RC[-1],TODAY(),""Y"") & "" YIL "" & DATEDIF(RC[-1],TODAY(),""YM"") & "" AY "" & DATEDIF(RC[-1],TODAY(),""MD"") & "" GÜN"""
    Next i
  
End Sub
Teşekkürler necdet bey bu makroyuda arşivime aldım
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Üst