MEMBUAT FUNGSI TERBILANG PADA MS EXCEL

Fungsi terbilang disini adalah fungsi untuk mengkonversi angka menjadi terbilang. Contoh angka 2500 akan dikonversi menjadi dua ribu lima ratus, fungsi ini banyak digunakan untuk membuat faktur, nota atau kwitansi.

Untuk membuat fungsi ini di Microsoft Excel caranya sebagai berikut:

  • Buat document baru, atau buka document yang sudah ada dan ingin diberi fungsi terbilang ini. Kemudian buka Microsoft Visual Basic Editor dari menu Tools > Macro > Visual Basic Editor untuk office 2003 atau langsung tekan tombol Alt + F11 untuk office 2007.
  • Buat sebuah module baru dengan cara klik menu Insert > Module kemudian tambahkan script berikut. :

Function Terbilang(n As Long) As String ‘max 2.147.483.647

Dim satuan As Variant, Minus As Boolean

On Error GoTo terbilang_error

satuan = Array(“”, “Satu”, “Dua”, “Tiga”, “Empat”, “Lima”, “Enam”, “Tujuh”, “Delapan”, “Sembilan”, “Sepuluh”, “Sebelas”)

If n < 0 Then

Minus = True

n = n * -1

End If

Select Case n

Case 0 To 11

Terbilang = ” ” + satuan(Fix(n))

Case 12 To 19

Terbilang = Terbilang(n Mod 10) + ” Belas”

Case 20 To 99

Terbilang = Terbilang(Fix(n / 10)) + ” Puluh” + Terbilang(n Mod 10)

Case 100 To 199

Terbilang = ” Seratus” + Terbilang(n – 100)

Case 200 To 999

Terbilang = Terbilang(Fix(n / 100)) + ” Ratus” + Terbilang(n Mod 100)

Case 1000 To 1999

Terbilang = ” Seribu” + Terbilang(n – 1000)

Case 2000 To 999999

Terbilang = Terbilang(Fix(n / 1000)) + ” Ribu” + Terbilang(n Mod 1000)

Case 1000000 To 999999999

Terbilang = Terbilang(Fix(n / 1000000)) + ” Juta” + Terbilang(n Mod 1000000)

Case Else

Terbilang = Terbilang(Fix(n / 1000000000)) + ” Milyar” + Terbilang(n Mod 1000000000)

End Select

If Minus = True Then

Terbilang = “Minus” + Terbilang

End If

Exit Function

terbilang_error:

MsgBox Err.Description, vbCritical, “^_^Terbilang Error”

End Function

 

 

  • Tutup kembali Visual Basis Editor dan kembali ke lembar kerja excel, coba ketikkan angka sembarang di sembarang tempat. Misal di cell C5ketikkan1250200 (nb: Maksimal 2147483647)
  • Kemudia di cell yang yang lain / tempat menaruh hasil terbilang ketikkan formula=terbilang(C5)
  • Kemudian di cell tersebut akan muncul hasil terbilang yaitu satu juta dua ratus lima puluh ribu dua ratus
  • Jika ingin di belakang hasil terbilang ada kata Rupiah tambahkan di dalam formula=terbilang(C5) & “Rupiah”

MEMBUAT FUNGSI TERBILANG CARA 2

Scripnya:

Function Ratusan(cData As String) As String

Dim DataDepan, nLenData, nCount As Integer

Dim SisaData, cHuruf As String

Dim Satuan, Imbuhan As Variant

Satuan = Array(” Nol”, ” Satu”, ” Dua”, ” Tiga”, ” Empat”, ” Lima”, ” Enam”, ” Tujuh”, ” Delapan”, ” sembilan”)

Imbuhan = Array(“”, “”, ” Puluh”, ” Ratus”)

nLenData = Len(cData)

SisaData = “”

cHuruf = “”

For nCount = nLenData To 1 Step -1

DataDepan = Val(Mid(cData, 1, 1))

SisaData = Mid(cData, 2, Len(cData))

If Not (DataDepan = 0) Then

If ((nCount = 2) And (CInt(Val(cData)) > 10) And (CInt(Val(cData)) < 20)) Then

cHuruf = cHuruf + IIf(CInt(Val(SisaData)) = 1, ” se”, Satuan(CInt(Val(SisaData))))

cHuruf = cHuruf + IIf(CInt(Val(SisaData)) = 1, “”, ” “) + “belas”

GoTo Keluar

Else

cHuruf = cHuruf + IIf((DataDepan = 1) And (Not (nCount = 1)), ” se”, Satuan(DataDepan)):

cHuruf = cHuruf + IIf((DataDepan = 1) And (Not (nCount = 1)), Trim(Imbuhan(nCount)), Imbuhan(nCount))

End If

End If

cData = SisaData

Next

Keluar:

Ratusan = cHuruf

End Function

Function Isi(cAngka As String) As String

Dim nCount, nLenData As Integer

Dim cHuruf, cData As String

Dim Akhiran As Variant

Akhiran = Array(“”, “”, ” Ribu”, ” Juta”, ” Milyar”, ” Triliun”, ” Biliun”, ” Ziliun”)

cHuruf = “”

cData = “”

nLenData = Fix(Len(cAngka) / 3) + IIf((Len(cAngka) Mod 3) = 0, 0, 1)

For nCount = nLenData To 1 Step -1

cData = Mid(cAngka, 1, IIf(Len(cAngka) – (3 * (nCount – 1)) > 0, Len(cAngka) – (3 * (nCount – 1)), 1))

If Not (Fix(Val(cData)) = 0) Then

cHuruf = cHuruf + IIf((nCount = 2) And (CInt(Val(cData)) = 1), ” se”, Ratusan(cData))

cHuruf = cHuruf + IIf((nCount = 2) And (CInt(Val(cData)) = 1), Trim(Akhiran(nCount)), Akhiran(nCount))

cHuruf = Replace(cHuruf, “Se ribu”, “Seribu”)

End If

cAngka = Right(cAngka, 3 * (nCount – 1))

Next

Isi = cHuruf

End Function

Function Terbilang(nNumber As Double) As String

Dim cHuruf, cNumber, cFullNumber, cDecsNumber As String

Dim nPosDecs As Integer

If VarType(nNumber) = 2 Then

nNumber = CDbl(CStr(Fix(nNumber)) + Application.DecimalSeparator + “0”)

Else

nNumber = nNumber

End If

cHuruf = “”

If nNumber < 0 Then

cHuruf = ” minus”

cNumber = Trim(CStr((nNumber * -1)))

Else

cNumber = Trim(CStr(nNumber))

End If

nPosDecs = InStr(cNumber, Application.DecimalSeparator)

cFullNumber = Mid(cNumber, 1, IIf(nPosDecs = 0, Len(cNumber), nPosDecs – 1))

cDecsNumber = Right(cNumber, Len(cNumber) – IIf(nPosDecs = 0, Len(cNumber), nPosDecs))

If Not (Fix(Val(cFullNumber)) = 0) Then

cHuruf = cHuruf + Isi(CStr(cFullNumber))

Else

cHuruf = ” Nol”

End If

If Not (cDecsNumber = “”) Then

If Not (Fix(Val(cDecsNumber)) = 0) Then

cHuruf = cHuruf + ” koma” + Isi(cDecsNumber)

End If

End If

Terbilang = cHuruf

End Function

2 Responses to MEMBUAT FUNGSI TERBILANG PADA MS EXCEL

  1. Teguh W says:

    bagus banget Pak. tapi kalau bilangannya desimal (misalnya 3,14) bagaimana ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: