Konversi Huruf Ke Angka

Konversi angka menjadi huruf pada Excel biasanya digunakan untuk membaca suatu bilangan angka satuan puluhan ratusan atau ribuan, misalnya untuk menyebut Rp, 10.000 menjadi "Sepuluh ribu rupiah" atau menyebut angka 1 menjadi "Satu". Untuk melakukan itu semuanya maka diperlukan suatu fungsi yang mampu mengkonversi atau merubah dari angka menjadi huruf.

Pada artikel sebelumnya saya pernah membahas tentang Konversi Angka Ke Huruf Untuk Penulisan Nilai Raport , saya tidak akan berlama lama menjelaskan perbedaan fungsi kedua trik ini, namun jika anda ingin mengetahui perbedaanya silahkan praktekan sendiri satu persatu .

Untuk Konversi Huruf Ke Angka anda memerlukan kode macro yang ditulis dimodul jendela VBE, modul Konversi Huruf Ke Angka adalah sebagai berikut

Function ANGKAKATA(nomor)
'Fungsi ANGKAKATA untuk mengubah angka menjadi kata
Application.Volatile
Terjemah = Array("", "satu", "dua", "tiga", "empat", _
"lima", "enam", "tujuh", "delapan", "sembilan")
ANGKAKATA = Terjemah(nomor)
End Function
Function TERBILANG(n_angka, _
Optional m_huruf = 4, Optional Satuan = "")
'Fungsi TERBILANG
Application.Volatile
angka = Fix(Abs(n_angka))
'Dua desimal dibelakang koma
desimal1 = Mid(Abs(n_angka), Len(angka) + 2, 1)
desimal2 = Mid(Abs(n_angka), Len(angka) + 3, 1)
If desimal2 = "" Then
If desimal1 = "" Or desimal1 = "0" Then
Koma = ""
Else
Koma = " koma " & ANGKAKATA(desimal1)
End If
ElseIf desimal2 = "0" Then
If desimal1 = "0" Then
Koma = ""
ElseIf desimal1 = "1" Then
Koma = " koma sepuluh"
Else
Koma = " koma " & ANGKAKATA(desimal1) & " puluh"
End If
Else
If desimal1 = "0" Then
Koma = " koma nol " & ANGKAKATA(desimal2)
ElseIf desimal1 = "1" Then
If desimal2 = "1" Then
Koma = " koma sebelas"
Else
Koma = " koma " & ANGKAKATA(desimal2) & " belas"
End If
Else
Koma = " koma " & ANGKAKATA(desimal1) & _
" puluh " & ANGKAKATA(desimal2)
End If
End If
'Memisahkan angka
No1 = Left(Right(angka, 1), 1)
No2 = Left(Right(angka, 2), 1)
No3 = Left(Right(angka, 3), 1)
No4 = Left(Right(angka, 4), 1)
No5 = Left(Right(angka, 5), 1)
No6 = Left(Right(angka, 6), 1)
No7 = Left(Right(angka, 7), 1)
No8 = Left(Right(angka, 8), 1)
No9 = Left(Right(angka, 9), 1)
No10 = Left(Right(angka, 10), 1)
No11 = Left(Right(angka, 11), 1)
No12 = Left(Right(angka, 12), 1)
No13 = Left(Right(angka, 13), 1)
No14 = Left(Right(angka, 14), 1)
No15 = Left(Right(angka, 15), 1)
'Bilangan satuan
If Len(angka) >= 1 Then
If Len(angka) = 1 And No1 = 1 Then
nomor1 = "satu"
ElseIf Len(angka) = 1 And No1 = 0 Then
nomor1 = "Nol"
ElseIf No2 = "1" Then
If No1 = "1" Then
nomor1 = "sebelas"
ElseIf No1 = "0" Then
nomor1 = "sepuluh"
Else
nomor1 = ANGKAKATA(No1) & " belas"
End If
Else
nomor1 = ANGKAKATA(No1)
End If
Else
nomor1 = ""
End If
'Bilangan puluhan
If Len(angka) >= 2 Then
If No2 = 1 Or No2 = "0" Then
nomor2 = ""
Else
nomor2 = ANGKAKATA(No2) & " puluh "
End If
Else
nomor2 = ""
End If
'Bilangan ratusan
If Len(angka) >= 3 Then
If No3 = "1" Then
nomor3 = "seratus "
ElseIf No3 = "0" Then
nomor3 = ""
Else
nomor3 = ANGKAKATA(No3) & " ratus "
End If
Else
nomor3 = ""
End If
'Bilangan ribuan
If Len(angka) >= 4 Then
If No6 = "0" And No5 = "0" And No4 = "0" Then
nomor4 = ""
ElseIf (No4 = "1" And Len(angka) = 4) Or _
(No6 = "0" And No5 = "0" And No4 = "1") Then
nomor4 = "seribu "
ElseIf No5 = "1" Then
If No4 = "1" Then
nomor4 = "sebelas ribu "
ElseIf No4 = "0" Then
nomor4 = "sepuluh ribu "
Else
nomor4 = ANGKAKATA(No4) & " belas ribu "
End If
Else
nomor4 = ANGKAKATA(No4) & " ribu "
End If
Else
nomor4 = ""
End If
'Bilangan puluhan ribu
If Len(angka) >= 5 Then
If No5 = "1" Or No5 = "0" Then
nomor5 = ""
Else
nomor5 = ANGKAKATA(No5) & " puluh "
End If
Else
nomor5 = ""
End If
'Bilangan ratusan Ribu
If Len(angka) >= 6 Then
If No6 = "1" Then
nomor6 = "seratus "
ElseIf No6 = "0" Then
nomor6 = ""
Else
nomor6 = ANGKAKATA(No6) & " ratus "
End If
Else
nomor6 = ""
End If
'Bilangan jutaan
If Len(angka) >= 7 Then
If No9 = "0" And No8 = "0" And No7 = "0" Then
nomor7 = ""
ElseIf No7 = "1" And Len(angka) = 7 Then
nomor7 = "satu juta "
ElseIf No8 = "1" Then
If No7 = "1" Then
nomor7 = "sebelas juta "
ElseIf No7 = "0" Then
nomor7 = "sepuluh juta "
Else
nomor7 = ANGKAKATA(No7) & " belas juta "
End If
Else
nomor7 = ANGKAKATA(No7) & " juta "
End If
Else
nomor7 = ""
End If
'Bilangan puluhan juta
If Len(angka) >= 8 Then
If No8 = "1" Or No8 = "0" Then
nomor8 = ""
Else
nomor8 = ANGKAKATA(No8) & " puluh "
End If
Else
nomor8 = ""
End If
'Bilangan ratusan juta
If Len(angka) >= 9 Then
If No9 = "1" Then
nomor9 = "seratus "
ElseIf No9 = "0" Then
nomor9 = ""
Else
nomor9 = ANGKAKATA(No9) & " ratus "
End If
Else
nomor9 = ""
End If
'Bilangan milyar
If Len(angka) >= 10 Then
If No12 = "0" And No11 = "0" And No10 = "0" Then
nomor10 = ""
ElseIf No10 = "1" And Len(angka) = 10 Then
nomor10 = "satu milyar "
ElseIf No11 = "1" Then
If No10 = "1" Then
nomor10 = "sebelas milyar "
ElseIf No10 = "0" Then
nomor10 = "sepuluh milyar "
Else
nomor10 = ANGKAKATA(No10) & " belas milyar "
End If
Else
nomor10 = ANGKAKATA(No10) & " milyar "
End If
Else
nomor10 = ""
End If
'Bilangan puluhan Milyar
If Len(angka) >= 11 Then
If No11 = "1" Or No11 = "0" Then
nomor11 = ""
Else
nomor11 = ANGKAKATA(No11) & " puluh "
End If
Else
nomor11 = ""
End If
'Bilangan ratusan milyar
If Len(angka) >= 12 Then
If No12 = "1" Then
nomor12 = "seratus "
ElseIf No12 = "0" Then
nomor12 = ""
Else
nomor12 = ANGKAKATA(No12) & " ratus "
End If
Else
nomor12 = ""
End If
'Bilangan triliun
If Len(angka) >= 13 Then
If No15 = "0" And No14 = "0" And No13 = "0" Then
nomor13 = ""
ElseIf No13 = "1" And Len(angka) = 13 Then
nomor13 = "satu triliun "
ElseIf No14 = "1" Then
If No13 = "1" Then
nomor13 = "sebelas triliun "
ElseIf No13 = "0" Then
nomor13 = "sepuluh triliun "
Else
nomor13 = ANGKAKATA(No13) & " belas triliun "
End If
Else
nomor13 = ANGKAKATA(No13) & " triliun "
End If
Else
nomor13 = ""
End If
'Bilangan puluhan triliun
If Len(angka) >= 14 Then
If No14 = "1" Or No14 = "0" Then
nomor14 = ""
Else
nomor14 = ANGKAKATA(No14) & " puluh "
End If
Else
nomor14 = ""
End If
'Bilangan ratusan triliun
If Len(angka) >= 15 Then
If No15 = "1" Then
nomor15 = "seratus "
ElseIf No15 = "0" Then
nomor15 = ""
Else
nomor15 = ANGKAKATA(No15) & " ratus "
End If
Else
nomor15 = ""
End If
'Jika angka terlalu banyak (> 15 digit)
If Len(angka) > 15 Then
bilang = "Angka terlalu banyak (>15)"
Else
If IsNull(n_angka) Then
bilang = ""
ElseIf n_angka < 0 Then bilang = "minus " & Trim(nomor15 & nomor14 & nomor13 & _
nomor12 & nomor11 & nomor10 & nomor9 & nomor8 & nomor7 & nomor6 & nomor5 & nomor4 & _
nomor3 & nomor2 & nomor1 & Koma & " " & Satuan)
Else: bilang = Trim(nomor15 & _
nomor14 & nomor13 & nomor12 & nomor11 & nomor10 & nomor9 & nomor8 & nomor7 & nomor6 & _
nomor5 & nomor4 & nomor3 & nomor2 & nomor1 & Koma & " " & Satuan)
End If
End If
'Pilihan model huruf
If m_huruf = 4 Then
TERBILANG = StrConv(Left(bilang, 1), 1) & _
StrConv(Mid(bilang, 2, 1000), 2)
Else
TERBILANG = StrConv(bilang, m_huruf)
End If
TERBILANG = Replace(TERBILANG, " ", " ", 1, 1000, vbTextCompare)
End Function

Modul diatas merupakan modul untuk membuat fungsi sendiri Konversi Huruf Ke Angka, jadi jika workbook anda disimpan tanpa format enable macro atau macro dalam excel anda non aktif maka fungsi Konversi Huruf Ke Angka tidak akan berjalan

Untuk melakukan tes fungsi Konversi Huruf Ke Angka silahkan coba isikan pada range A1 angka 1000 ( Seribu )
Untuk mendapatkan huruf dengan ejaan Seribu pda kolom B1 silahkan isikan fungsi =TERBILANG(A1) pada kolom B1

#KonversiHurufKeAngka #ExcelPro #Macro #VBA #MacroExcel #ExcelVba #BelajarExcel #BelajarMacro #BelajarVBA #KelasExcel #RumahExcel
ExcelPro, Excel Pro, Macro, VBA, #MacroExcel, ExcelVba, BelajarExcel, BelajarMacro, BelajarVBA, KelasExcel, RumahExcel

Demikianlah Cara Konversi Huruf Ke Angka. Semoga artikel kali ini bermanfaat , jika anda kesulitan download file sampel silahkan hubungi kami dengan mengisi kolom komentar dibawah, follow IG kami atau Like fanpage Asis10.com

Download File Konversi Huruf Ke Angka
Link tersedia
Mau semua fle sampel silahkan klik > disini
No comments