Macro Excel: Membuat fungsi terbilang

Pengguna MS Excel yang sering menggunakannya untuk hitung keuangan, mungkin sangat ingin dari hasil yang diperoleh ada tambahan kalimat yang menyebutkan jumlah hasil perhitungan. Misal hasil perhitungan: Rp 1.000.000,- , muncul kalimat: Satu Juta Rupiah.

Dibawah kami bantu untuk merealisasikan keinginan tersebut. Kode ini saya peroleh dari internet yang ditujukan untuk pengguna openoffice. Setelah saya tes di Excel ternyata dapat berfungsi dengan baik.

Pekerjaan mengubah dari angka menjadi kalimat seperti diatas disebut FUNGSI TERBILANG. Fungsi terbilang akan tercatat dalam daftar function di excel dalam kelompok user defined, artinya fungsi yang dibuat oleh pengguna.

Ok kita mulai ya…

Langkah 1: Buka Workbook Excel.

Buka Book baru

Buka Book baru

Langkah 2: Buka Visual Basic Application Editor. Alt+F11 atau melalui menu menu Tools.

Membuka VBA Editor di Excel

Membuka VBA Editor di Excel

Hasil membuka VBA editor seperti gambar dibawah.

VBA Editor telah aktif

VBA Editor telah aktif

Langkah 3: Membuka MODUL baru.

Membuka Modul Baru

Membuka Modul Baru

Hasil insert modul, akan tersedia modul yang siap dipakai.

Modul baru siap dipakai

Modul baru siap dipakai

Langkah 4: Mengisi Modul dengan script Fungsi berikut, dengan copy dan paste ke dalam modul.

Function TeksKeAngka(ByVal n As Double) As String
Dim sSatuan()
Dim s As String
sSatuan() = Array("nol", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas", "dua belas", "tiga belas", "empat belas", "lima belas", "enam belas", "tujuh belas", "delapan belas", "sembilan belas", "dua puluh")
s = ""
If n > 999 and n < 200 Then
s = "seribu"
n = n MOD 1000
If n = 0 Then
TeksKeAngka = s
Exit Function
End If
s = s & " "
End If
If n > 199 Then
s = s & sSatuan(Fix(n / 100)) & " ratus"
n = n MOD 100
If n = 0 Then
TeksKeAngka = s
Exit Function
End If
s = s & " "
End If
If n > 99 and n < 200 Then
s = "seratus"
n = n MOD 100
If n = 0 Then
TeksKeAngka = s
Exit Function
End If
s = s & " "
End If
If n > 20 and n < 100 Then
s = s & sSatuan(Fix(n / 10)) & " puluh"
n = n MOD 10
If n = 0 Then
TeksKeAngka = s
Exit Function
End If
s = s & " "
End If
TeksKeAngka = s & sSatuan(n)
End Function

Function Terbilang(ByVal n) As String
Dim sBil()
sBil = Array( "", "ribu", "juta", "milyar", "triliun", "quadriliun")
Dim i As Integer
Dim iInt As Integer
Dim s As String
Dim dInt As Double
dInt = Fix(n)
If (dInt < 2000) Then
Terbilang = TeksKeAngka(CInt(dInt))
Exit Function
End If
i = 0
s = ""
Do While dInt > 0
iInt = CInt(dInt - Fix(dInt / 1000) * 1000)
If iInt <> 0 Then
If Len(s) > 0 Then s = " " & s
s = TeksKeAngka(iInt) & " " & sBil(i) & s
End If
i = i + 1
dInt = Fix(dInt / 1000)
Loop
Terbilang = s
End Function

Copy script Fungsi Terbilang Ke Modul

Copy script Fungsi Terbilang Ke Modul

Langkah 5:  Tes fungsi di Worksheet Excel.

Melakukan tes fungsi terbilang

Melakukan tes fungsi terbilang

Hasil testing seperti dibawah.

Hasil fungsi Terbilang bekerja dengan baik

Hasil fungsi Terbilang bekerja dengan baik

Langkah 6: SIMPAN BOOK tersebut, dan gunakan book tersebut jika akan digunakan untuk aktifitas perhitungan. Karena Fungsi HANYA melekat atau akan aktif pada workbook tersebut, bukan pada aplikasi MS Excel secara permanen. Atau jika Anda sudah memiliki workbook yang sudah ada hasil hitungan dan ingin ditambahi fungsi terbilang bisa mengikuti langkah 1-6.

Selesai. Selamat mencoba.

Dan silakan dicoba file excelnya yang saya buat.

About me