Terkadang kita membutuhkan versi terbilang dari sebuah bilangan di dalam MS excel, kali ini saya akan membagi kepada anda bagaimana caranya membuat fungsi terbilang versi bahasa indonesia di MS excel. Baik langsung saja ikuti langkah berikut ini:
Anda Juga bisa melihat videonya di sini
Sumber: lupa
- Siapkan dokumen MS Excel terlebih dahulu.
- Masuk vba editor bisa dengan klik tab developer (untuk mengaktifkan tab developer lihat disini)==>Visual Basic, atau anda juga bisa menggunakan tombol kombinasi Alt+F11, sampai muncul tampilan seperti berikut ini
- Tambahkan Module baru ke dalam project anda
perhatikan window project explorer di sebelah kiri atas, klik kanan Project VBAProject(Book1) ==> Insert ==> Module1. Sampai Muncul Code Editor untuk module1 seperti berikut:
- Copy dan paste kode berikut ke dalam Code Editor Module1:
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 - Hasilnya seperti gambar dibawah ini:
- Setelah memalui langkah no 5, sekarang kita mencoba hasilnya di sheet1.
- Misalkan kita akan menulis angka di Cell "B3" dan bentuk terbilang berada di cell "C3", maka tuliskan formula di cell "C3" dengan formula sbb:
=terbilang("B3")
Hasilnya dapat dilihat pada gambar dibawah ini
Anda Juga bisa melihat videonya di sini
Sumber: lupa