Pada tutorial kali ini saya akan jelaskan bagaimana menghitung usia atau umur seseorang dengan menggunakan VBA.
Bagi yang ingin melihat tutorial melalui penjelasan video bisa disimak tutorial berikut ini :
Pada pembahasan kali ini saya akan bagikan 2 cara, cara pertama menggunakan fungsi bawaan dari VBA yaitu DATEDIFF dan yang kedua adalah fungsi bawaan formula Excel yaitu DATEDIF.
Cara pertama dengan menggunakan Fungsi bawaan Visual Basic yaitu fungsi DATEDIFF
Function Umur(tglLahir As Date, tglSekarang As Date) As String Dim tahun As Integer Dim bulan As Integer Dim hari As Integer tahun = DateDiff("yyyy", tglLahir, tglSekarang) bulan = DateDiff("m", tglLahir, tglSekarang) hari = DateDiff("d", DateAdd("m", bulan, tglLahir), tglSekarang) If hari < 0 Then bulan = bulan - 1 hari = DateDiff("d", DateAdd("m", bulan, tglLahir), tglSekarang) End If bulan = bulan Mod 12 Umur = tahun & " Tahun " & bulan & " Bulan " & hari & " Hari " End Function
Sayangnya, fungsi DATEDIF
tidak dapat digunakan melalui objek WorksheetFunction
di VBA. Meskipun fungsi DATEDIF
tersedia di Excel sebagai fungsi bawaan (meskipun tersembunyi), Excel VBA tidak mendukungnya secara langsung melalui WorksheetFunction
.
Namun, kita masih tetap dapat menggunakan DATEDIF
dalam VBA dengan menerapkan teknik evaluate. Berikut contoh scriptnya:
' ==================================================================================== ' Nama Proyek : Penghitungan Selisih Tanggal Dengan DATEDIF ' Deskripsi : Modul ini berisi fungsi untuk menghitung selisih ' antara dua tanggal berdasarkan interval tertentu (hari, bulan, ' atau tahun). ' Dibuat Oleh : Andi Setiadi ' Tanggal Dibuat : 24 Juni 2024 ' Versi : 1.0 ' Pembaruan Terakhir : 29 Desember 2024 - Penambahan StrDasar ' ==================================================================================== Function Umur(tglLahir As Date, tglSekarang As Date) As String Dim tahun As Integer Dim bulan As Integer Dim hari As Integer Dim StrDasar As String StrDasar = "datedif(""" & tglLahir & """,""" & tglSekarang & """" tahun = Evaluate(StrDasar & ", ""Y"")") bulan = Evaluate(StrDasar & ", ""YM"")") hari = Evaluate(StrDasar & ", ""MD"")") Umur = tahun & " tahun " & bulan & " bulan " & hari & " hari" End Function
Mohon dibuatkan coding menghitung usia kehamilan
sudah dibuatkan di sini https://vba.co.id/vba-menghitung-usia-kehamilan/