Menerjemahkan Angka ke Kata-kata di dalam Microsoft Excel

Date July 25, 2005

Ini salah satu cara bagaimana menerjemahkan angka ke dalam kata-kata dengan Visual Basic for Application dan nantinya akan dikenali sebagai macro. Fungsi dalam list program yang dipakai nantinya sebenarnya dapat digunakan pada aplikasi MS Office atau aplikasi Visual Basic lainnya namun pada bahasan ini dibatasi pada penggunaan dalam aplikasi MS Excel karena keterbatasan pengetahuan saya. Bagi yang sudah terbiasa pada penggunaan Visual Basic Editor pada MS Excel dapat langsung ke bagian list program.
Fungsi tersebut akan berguna:

  • Menerjemahkan angka ke dalam kata-kata sampai dengan 15 digit termasuk nilai desimal (ratusan trilian apabila tanpa nilai desimal). Angka 15 digit ini merupakan nilai yang dapat ditampung MS Excel sebelum dirubah ke nilai exponen.
  • Desimal yang diterjemahkan sampai dengan dua angka dibelakang koma.
  • Mengenal 4 Style, yaitu cara penulisan huruf besar/kecil-nya.
  • Bebas menggunakan satuan yang diinginkan.


Langkah-langkanya adalah:

  1. Buka aplikasi MS Excel, apabila secara otomatis tidak muncul workbook baru (atau Book 1) maka bukalah Workbook baru dari File > New… (Ctrl+N);
  2. Pada workbook baru pada sheet mana saja pilihlah Tools > Macro > Visual Basic Editor atau dengan shortcut Alt+F11. Lihat Gambar 1.

    Gambar 1
  3. Setelah itu akan muncul window baru bertitle Microsoft Visual Basic. Setelah itu, pilih Insert > Module. Pada Module 1 yang baru dibuat, letakkan kursor pada bagian Code. Apabila belum muncul atau beralih ke bagian tersebut pilih View > Code (F7).
  4. Pada lembar kosong tersebut copy paste-kan list program pada file terbilang.txt. Lihat Gambar 2.

    Gambar 2
  1. Setelah Anda selesai mengcopy pilih File > Close and Return to Microsoft Excel untuk kembali ke workbook MS Excel.
  2. Simpan workbook tersebut, namai misalnya terbilang.xls.
  3. Sekarang Anda dapat mencoba fungsi tersebut dalam sheet mana saja dalam workbook tersebut. Misalnya Anda ketikan pada cell A1 angka berapa saja. Pilih cell yang akan menampung terjemahan kata-katanya, misalnya di A2.
  4. Pilih Insert > Function…, maka akan muncul dialog box daftar fungsi di MS Excel. Lihat Gambar 3.

    Gambar 3
  5. Dari daftar dalam Function category, pilihlah User Defined, sehingga dalam daftar di Function name muncul nama fungsi terbilang, pilih fungsi tersebut kemudian klik OK, sehingga muncul dialog box seperti Gambar 4.

    Gambar 4
  6. Isilah dialog box di atas dengan ketentuan sebagai berikut:
    Nilai_Angka
    Isilah dengan angka yang akan diterjemahkan, atau isi dengan nama cell yang berisi angka yang akan diterjemahkan, misalnya A1.
    Style
    Isi dengan kode 1 sampai dengan 4 untuk menentukan cara penulisannya.
    1: Teks terbilang ditulis dengan huruf besar (kapital) semua (uppercase);
    2: Teks terbilang ditulis dengan huruf kecil semua (lowercase);
    3: Teks terbilang ditulis dengan huruf besar pada awal kata saja (title case);
    4: Teks terbilang ditulis dengan huruf besar pada huruf pertama saja (sentence case).
    Isian style sifatnya optional, apabila tidak diisi maka defaultnya 4 (sentence case).
    Satuan
    Isi dengan satuan untuk teks terbilang, misalnya rupiah, unit atau buah. Isian satuan sifatnya optional, apabila dikosongkan maka teks terbilang ditulis tanpa satuan tertentu.
  7. Anda juga dapat langsung menggunakan fungsi terbilang secara langsung pada cell dengan formula:
    =terbilang(Nilai_Angka;Style;”Satuan”)
    Penjelasan lihat di atas. Perlu diperhatikan bahwa penulisan satuan ditulis dengan cara diapit tanda petik(”).
  8. Sekarang Anda tutup workbook tersebut. Coba buka kembali workbook tersebut, maka akan muncul peringatan seperti Gambar 5. Untuk dapat menggunakan fungsi terbilang diatas Anda harus memilih Enable Macros setiap kali Anda menggunakan

    Gambar 5

Pada tahapan ini Anda dapat menggunakan fungsi terbilang pada cell dan worksheet mana saja tetapi terbatas pada workbook tersebut. Setiap kali Anda membuat file MS Excel dan memerlukan fungsi terbilang Anda harus mengulangi langkah-langkah di atas atau Anda menyimpan dengan nama atau lokasi yang berbeda dengan cara File > Save As…
Ada cara lain agar setiap kali membuat file/workbook baru, Anda langsung dapat menggunakan fungsi terbilang. Langkah-langkahnya:

  1. Buka file yang Anda simpan di atas yang berekstensi xls. Kemudian pilih File > Save As.. Kemudian pada isian File name isi dengan nama file, misalnya terbilang. Pada isian Save as type pilih Microsoft Excel Add-In (*.xla). Lihat Gambar 6.

    Gambar 6
    Secara default folder yang terbuka untuk menyimpan file type Add-In ini berada pada C:WINDOWS\Aplication Data\Microsoft\AddIns, sebaiknya Anda menyimpannya pada folder ini, meskipun Anda dapat menentukan lokasi lain. Nantinya file yang disimpan berekstensi xla.
  2. Setelah Anda menyimpannya, tutup MS Excel. Buka kembali dengan workbook baru.
  3. Pada workbook baru tersebut pilih Tools > Add-Ins… Muncul dialog box seperti pada Gambar 7.

    Gambar 7
    Klik Browse… maka secara default Anda dihadapkan pada isi folder AddIns seperti disebut pada point 1, kemudian pilih file Add-In terbilang tersebut. Maka fungsi terbilang akan masuk list pada Add-Ins available seperti pada Gambar 7. Pastikan Anda beri tanda check. Kemudian klik OK.
  4. Pada workbook baru ini, Anda sudah dapat menggunakan fungsi terbilang, begitu pula saat Anda nanti membuat file/workbook baru.
  5. Anda dapat menonaktifkan Add-In ini dengan menghilangkan tanda check seperti tersbut di atas.


Tulisan lain yang mungkin terkait dengan tulisan di atas:

  1. Fungsi Terbilang untuk OpenOffice.org
  2. Fungsi Terbilang Untuk PHP
  3. Lupa Password Worksheet Microsoft Excel?
  4. Jumlah Baris dan Kolom Excel 2007 yang Berkurang
  5. Microsoft Excel: Zero Leading

86 Responses to “Menerjemahkan Angka ke Kata-kata di dalam Microsoft Excel”

ANDIK - Gravatar

ANDIK said on October 20, 2005, 4:20 am:

bagaimana kalau terjadi bilangan yang terlalu panjang, apa bisa kata terbilang disambungkan ke baris di bawahnya?

maseko - Gravatar

maseko said on October 21, 2005, 4:29 pm:

Andik, hasil fungsi terbilang tertuang dalam satu cell atau beberapa cell yang dimerge.
Mungkin bisa diantisipasi jika sewaktu-waktu hasilnya akan panjang dengan menyiapkan cell yang cukup ‘tingginya’ dan dibuat wrapping.

aaa - Gravatar

aaa said on January 5, 2006, 5:10 pm:

sudah aku coba, sukses cuman waktu ditutup & buka lagi (langkah 12) gak keluar enable macros. pilihannya yes & no trus aku pilih yes tapi hasilnya gak bisa nerjemahin lagi

maseko - Gravatar

maseko said on January 6, 2006, 6:51 pm:

aaa, kemungkinan setting securitynya terlalu tinggi
Coba dari Tools > Macro > Security.. Pilih yang Medium.

Dwi - Gravatar

Dwi said on January 18, 2006, 9:26 am:

maseko, gimana kalau setiap buka file yg udah ada funtion terbilang() ini tidak perlu melewati dialog box seperti langkah no.12?, jadi macronya langsung bisa dipake. BISA??? THX

maseko - Gravatar

maseko said on January 18, 2006, 3:58 pm:

Dwi, hal tersebut terkait dengan setting Security, seperti pada jawaban #4 di atas. Dialog box akan muncul, jika settingnya medium. Untuk menghilangkannya, sebenarnya bisa saja dengan mengubah level security ke “Low”, tetapi hal ini tidak disarankan, karena file otomatis akan meng-enable-kan macro yang ada. Jika suatu saat ada file excel yang disusupi macro jahat, bisa berbahaya.

lulu - Gravatar

lulu said on February 20, 2006, 1:48 pm:

Bagaimana kalau bekerja dengan microsoft word?

Kiki - Gravatar

Kiki said on February 23, 2006, 5:16 am:

Tetep ga bisa nerjemahin ke “Seribu…”
Maksudnya, konversinya jadi “Satu Ribu”

Kiki - Gravatar

Kiki said on February 23, 2006, 7:24 am:

Sori kurang lengkap, coba input 1.001.000

maseko - Gravatar

maseko said on February 23, 2006, 6:38 pm:

#7
lulu, permasalahan tersebut juga masih menjadi pertanyaan saya, bagaimana mengaplikasikan di MS Word. Sampai sekarang, saya belum menemukan jawabannya. Mohon maaf tidak dapat membantu.

#8
Kiki, Anda benar, kalau ada kesempatan, akan saya update. Terima kasih atas koreksinya.

GusRiz - Gravatar

GusRiz said on February 28, 2006, 4:43 pm:

Om Maseko,

Terima kasih programnya sangat membantu.
Oh ya, untuk mengatasi masalah 1.001.000 bisa dimodify codenya pada bagian ribuan dari :

‘Ribuan
ElseIf No4 = “1″ And Len(Angka) = 4 Then
Nomor4 = “seribu ”

menjadi

ElseIf (No4 = “1″ And Len(Angka) = 4) Or (No6 = “0″ And No5 = “0″ And No4 = “1″) Then
Nomor4 = “seribu”

Saya cobain sih sudah bener. Kalau memang bener, mohon diupdate programnya sehingga orang tinggal pake saja

Thx

Riz

maseko - Gravatar

maseko said on February 28, 2006, 8:19 pm:

Wah.. terima kasih sekali nih GusRiz :)

Arga - Gravatar

Arga said on March 3, 2006, 8:47 am:

error pada Office 97

maseko - Gravatar

maseko said on March 3, 2006, 6:03 pm:

Arga, sepertinya memang hanya dapat digunakan pada Office 2000 ke atas, meskipun saya sendiri belum mencobanya di Office 97.

Asharuddin Nasution - Gravatar

Asharuddin Nasution said on March 22, 2006, 2:30 pm:

Tolong donk! Aq pengen tau tentang semua fungsi excel (fungsi matematika, statistika, logika dll)

maseko - Gravatar

maseko said on March 22, 2006, 6:25 pm:

Asharuddin Nasution, cara termudah dan termurah adalah dengan melihat dokumentasi yang ada pada Microsoft Excel. Sebenarnya pengen juga sih nyumbang yang dalam bahasa Indonesia, tapi belom sempet dan ilmunya juga masih dangkal.

Radjah - Gravatar

Radjah said on March 25, 2006, 3:25 pm:

Cucok…cucok..

Rusli - Gravatar

Rusli said on July 17, 2006, 12:34 pm:

Maseko, saya telah mencoba menggunakan script yang anda buat. Tetapi ada hal yang mungkin perlu diperbaharui yakni :
1. Dalam penguraian angka dibelakang koma (desimal) dalam Bahasa Indonesia harus diuraikan dalam bentuk satuan contohnya 32,32 = Tiga puluh dua koma tiga dua bukannya Tiga puluh dua koma tiga puluh dua, ini akan mempermudah dalam penyebutan angka dibelakang koma dengan digit yang banyak , tentunya scriptnya juga akan mudah. (saya gak ngerti script tapi saya rasa akan mudah menguraikannya).
2. Kalau bisa ada penambahan opsi untuk pengambilan berapa banyak angka dibelakang koma sesuai keinginan kita tidak hanya mengambil dua angka saja. Ini mungkin akan mudah bila mengikuti poin 1 diatas (sesuai EYD).
Demikian - Terima Kasih.

aan - Gravatar

aan said on July 28, 2006, 9:49 am:

selamat pagi pak mas, hehe, koq jadi lucu manggilnya. bapak-bapak/ibu-ibu, saya sedang mencari rumus fungsi pembulat ke bawah atau ke atas pada angka uang atau rupiah; biasanya saya gunakan untuk penghitungan gaji, berhubung tidak punya receh 1 rupiah misalnya, maka saya bulatkan ke bawah atau ke atas tapi di-tik manual.
misalnya diketahui data :
100.045 menjadi 100.000
313.921 menjadi 314.000 atau 313.500
204.349 menjadi 204.350
apakah bapak (atau yang pengomentar lain) bisa memberikan jawaban?

aan.
_______________
5666717 ext 111

aan - Gravatar

aan said on July 28, 2006, 11:35 am:

saya Aan ingin berkomentar lagi,
mengenai akhir kalimat, mengapa harus ada spasi pada kata terakhir. misal :
angka di cell a1 : 40,
fungsi di cell a2 : =terbilang(A1;1;”.”) : hasil “Empat puluh .”
di sebelum titik ada spasi.
mohon ma’af saya terlalu sok tau membaca script,
kalo ga salah, ada fungsi yang menghilangkan spasi yang bernama Trim, tapi setelah saya coba =TRIM(A2)
hasilnya tetap, mungkin karena karakter teksnya berasal dari rumus, jadi tidak bisa diganti.

trimss….

(kayanya kalau ada pages forum, ngbahasnya enak kali ya)

andre - Gravatar

andre said on July 29, 2006, 9:34 am:

salam kenal,saya kurang paham banget,pda langkah 8 user defined tidak ditemukan pada excel 2003 saya,pada Function category,gimana cara membuat menu,nilai angksa,style,satuan kedalam bahasa indonesia.terima kasih

Resky Restandi Maulana - Gravatar

Resky Restandi Maulana said on August 4, 2006, 12:41 pm:

Maseko….! bagai mana kalau ada point nya “” contoh (21,383.23)
tebilang : Dua Puluh Satu Koma Tiga Ratus Delapan Puluh Tiga Point Dua Tiga “”".. Tolong Dong Beri Penjelasan Aku Bingung Banget Nih …1
Atas Bantuannya Terima kasih ,Semoga Amalnya Diterima Ok..
59401126 (021)

hery - Gravatar

hery said on August 5, 2006, 12:20 pm:

kalau untuk dollar dengan point gimana

budi - Gravatar

budi said on August 11, 2006, 2:04 pm:

kalau yang versi english_nya ada nggak mas?

maseko - Gravatar

maseko said on August 23, 2006, 7:01 pm:

Terima kasih untuk semua yang telah memberikan respon untuk postingan ini. Rencananya saya akan menulis ulang kodenya dengan memperhatikan masukan-masukan yang dikirim teman-teman, tunggu kabar selanjutnya. Mohon maaf untuk tidak memberi respon per komentar yang masuk belakangan.

Julita - Gravatar

Julita said on September 26, 2006, 2:03 pm:

Thx u so much~~saya lagi bingung tentang soal ini,kayaknya susah buangeeet,masuk angka bawahnya ada kata-katanya,puyeng.
wish you have more good idea~

Xander - Gravatar

Xander said on October 16, 2006, 10:47 pm:

Kalau di Excel 2003 bisa gak ya, soalnya nggak ada pilihan User Define pada function…??

maseko - Gravatar

maseko said on October 17, 2006, 3:13 pm:

Bisa kok di Excel 2003. Cari kategori “User Define”, seharusnya di daftar fungsi ada fungsi “terbilang”.

prans - Gravatar

prans said on January 10, 2007, 12:39 pm:

apakah office yang dipakai harus versi tertentu untuk Menerjemahkan Angka ke Kata-kata di dalam Microsoft Excel soalnya saya kesulitan semuanya sudah lakukan sesuai prosedure tapi tidak bisa mohon bimbingannya

terima kasih

maseko - Gravatar

maseko said on January 10, 2007, 9:32 pm:

Saya sudah mencoba pada Excel 2000 s.d. 2003 bisa berjalan.

Perhatikan level security-nya untuk dapat menjalankan macro. Dari Tool > Macro > Security. Coba pilih medium. Dan buka kembali file-nya. Jika ditanyakan apakah akan membolehkan macro, jawab Yes aja.

Mas Winarno - Gravatar

Mas Winarno said on March 9, 2007, 11:28 pm:

Terima Kasih, Maseko. Saya sedang ingin meningkatkan kemampuan saya dalam excel, kebetulan sering dimintai tolong teman-teman untuk membuat aplikasi dalam excel. Bulan lalu saya buat rapot, terbilangnya saya pakai vlookup. Dengan add-in ini saya terbantu bisa memperkecil file

aep saepuloh - Gravatar

aep saepuloh said on March 19, 2007, 6:10 pm:

thank for maseko yang baik hati dan rajin menabung, apa yang maseko publikasikan sangat bermanfaat, saya udah lama mencari list program tersebut tapi baru ketemua.
Makasih sekali lagi semoga bisa terus berbagi ilmu

HSis - Gravatar

HSis said on March 29, 2007, 1:11 pm:

makasih, masEko.
saya udah lama cari dan coba buat,tapi belum dapat.
kalo ada prog.revisinya yang dapat membulatkan atas /bawah mohon dikabarkan.

Guzze - Gravatar

Guzze said on April 2, 2007, 3:19 pm:

maseko function ini bagusssss bgt
thx

young-q - Gravatar

young-q said on April 6, 2007, 12:11 am:

maseko, tolong aku mau minta referensi soal-soal excel dari “kelas ringan” sampai “kelas sulit”. makasih sebelumnya.

lanting - Gravatar

lanting said on April 10, 2007, 10:39 pm:

gimana caranya / fungsi excel utk menghitung rumus ujian nasional 2007 yang ada 2 opsi.

maseko - Gravatar

maseko said on April 11, 2007, 9:36 am:

#35
Saya tidak punya tuh mas, masalah yang dihadapi biasanya karena pekerjaan. Coba search menggunakan Google.

#36
Memang rumusnya bagaimana? Maaf, saya memang tidak tahu.

sinta - Gravatar

sinta said on April 11, 2007, 3:01 pm:


JEZ - Gravatar

JEZ said on April 22, 2007, 5:53 am:

assalamu’alaikum wr wb.,

situs ini sangat bagus n cocok buat aku.

ada yang bisa bantu gak?????
aku ada tugas membuatnkwitansi dalam format MS.EXCEL. jadi dimasukin berapa aja angkanya, ntar hurufnya(terbilangnya) juga berubah. makasih ya, kalo ada yang bantuin.
wassalamu’alaikum wr wb.

imam - Gravatar

imam said on April 28, 2007, 3:08 pm:

mas eko kalo emang ga ada rumusnya,ada ga cara lain?.untuk merecord 1 sel.agar nilainya tetap dan tidak berubah misalnya:di sel A1 diketik 78, lalu di sel B2=78 juga. tapi jika sel A1 diganti dengan 99, di sel 2 nya tetep 78. gimana ya caranya. tolong saya ya mas…..!

denko - Gravatar

denko said on May 17, 2007, 1:17 pm:

kok terbilangnya gak bisa konvert ke angka yang udah di buat 2 desimal ya contoh:
8,667 terbilang delapan koma enam puluh enam tapi begitu dibuat jadi dua desimal : 8,67 terbilang tetep delapan koma enampuluh enam ada yang bisa bantu gak????

dbf - Gravatar

dbf said on June 23, 2007, 8:45 am:

alternatif laen semoga berguna

[code]
Option Explicit

Function DH(ByVal Angka)
Dim Sementara
Dim Rupiah, Sen
Dim Posisi, Jumlah

ReDim Place(9) As String
Place(2) = ” Ribu ”
Place(3) = ” Juta ”
Place(4) = ” Milyar ”
Place(5) = ” Triliun ”

Angka = Trim(Str(Angka))
Posisi = InStr(Angka, “.”)

If Posisi > 0 Then
Sementara = Left(Mid(Angka, Posisi + 1) & “00″, 2)
Sen = Puluhan(Sementara)
Angka = Trim(Left(Angka, Posisi - 1))
End If

Jumlah = 1
Do While Angka “”
Sementara = Ratusan(Right(Angka, 3))
If Sementara “” Then Rupiah = Sementara & Place(Jumlah) & Rupiah
If Len(Angka) > 3 Then
Angka = Left(Angka, Len(Angka) - 3)
Else
Angka = “”
End If
Jumlah = Jumlah + 1
Loop

Select Case Rupiah
Case “”
Rupiah = “N I H I L”
Case Else
Rupiah = Rupiah & ” Rupiah”
End Select

Select Case Sen
Case “”
Sen = “. ”
Case Else
Sen = ” ” & Sen & ” Sen.”
End Select

DH = Rupiah & Sen
End Function

Private Function Ratusan(ByVal Angka)
Dim Hasil As String

If Val(Angka) = 0 Then Exit Function

Angka = Right(”000″ & Angka, 3)

If Left(Angka, 1) “0″ Then
If Left(Angka, 1) = “1″ Then
Hasil = “Seratus ”
Else
Hasil = Satuan(Left(Angka, 1)) & “Ratus ”
End If
End If

If Mid(Angka, 2, 1) “0″ Then
Hasil = Hasil & Puluhan(Mid(Angka, 2))
Else
Hasil = Hasil & Satuan(Mid(Angka, 3))
End If

Ratusan = Trim(Hasil)
End Function

Private Function Puluhan(ByVal MyTens)
Dim Hasil As String

If Val(Left(MyTens, 1)) = 1 Then
Select Case Val(MyTens)
Case 10: Hasil = “Sepuluh ”
Case 11: Hasil = “Sebelas ”
Case 12: Hasil = “Dua Belas ”
Case 13: Hasil = “Tiga Belas ”
Case 14: Hasil = “Empat Belas ”
Case 15: Hasil = “Lima Belas ”
Case 16: Hasil = “Enam Belas ”
Case 17: Hasil = “Tujuh Belas ”
Case 18: Hasil = “Delapan Belas ”
Case 19: Hasil = “Sembilan Belas ”
Case Else
End Select
Else

Select Case Val(Left(MyTens, 1))
Case 2: Hasil = “Dua Puluh ”
Case 3: Hasil = “Tiga Puluh ”
Case 4: Hasil = “Empat Puluh ”
Case 5: Hasil = “Lima Puluh ”
Case 6: Hasil = “Enam Puluh ”
Case 7: Hasil = “Tujuh Puluh ”
Case 8: Hasil = “Delapan Puluh ”
Case 9: Hasil = “Sembilan Puluh ”
Case Else
End Select

Hasil = Hasil & Satuan(Right(MyTens, 1))
End If

Puluhan = Hasil
End Function

Private Function Satuan(ByVal MyDigit)
Select Case Val(MyDigit)
Case 1: Satuan = “Satu ”
Case 2: Satuan = “Dua ”
Case 3: Satuan = “Tiga ”
Case 4: Satuan = “Empat ”
Case 5: Satuan = “Lima ”
Case 6: Satuan = “Enam ”
Case 7: Satuan = “Tujuh ”
Case 8: Satuan = “Delapan ”
Case 9: Satuan = “Sembilan ”
Case Else: Satuan = ” ”
End Select
End Function

[/code]

Uphil`Garing - Gravatar

Uphil`Garing said on June 23, 2007, 8:49 am:

Option Explicit

Function DH(ByVal Angka)
Dim Sementara
Dim Rupiah, Sen
Dim Posisi, Jumlah

ReDim Place(9) As String
Place(2) = ” Ribu ”
Place(3) = ” Juta ”
Place(4) = ” Milyar ”
Place(5) = ” Triliun ”

Angka = Trim(Str(Angka))
Posisi = InStr(Angka, “.”)

If Posisi > 0 Then
Sementara = Left(Mid(Angka, Posisi + 1) & “00″, 2)
Sen = Puluhan(Sementara)
Angka = Trim(Left(Angka, Posisi - 1))
End If

Jumlah = 1
Do While Angka “”
Sementara = Ratusan(Right(Angka, 3))
If Sementara “” Then Rupiah = Sementara & Place(Jumlah) & Rupiah
If Len(Angka) > 3 Then
Angka = Left(Angka, Len(Angka) - 3)
Else
Angka = “”
End If
Jumlah = Jumlah + 1
Loop

Select Case Rupiah
Case “”
Rupiah = “N I H I L”
Case Else
Rupiah = Rupiah & ” Rupiah”
End Select

Select Case Sen
Case “”
Sen = “. ”
Case Else
Sen = ” ” & Sen & ” Sen.”
End Select

DH = Rupiah & Sen
End Function

Private Function Ratusan(ByVal Angka)
Dim Hasil As String

If Val(Angka) = 0 Then Exit Function

Angka = Right(”000″ & Angka, 3)

If Left(Angka, 1) “0″ Then
If Left(Angka, 1) = “1″ Then
Hasil = “Seratus ”
Else
Hasil = Satuan(Left(Angka, 1)) & “Ratus ”
End If
End If

If Mid(Angka, 2, 1) “0″ Then
Hasil = Hasil & Puluhan(Mid(Angka, 2))
Else
Hasil = Hasil & Satuan(Mid(Angka, 3))
End If

Ratusan = Trim(Hasil)
End Function

Private Function Puluhan(ByVal MyTens)
Dim Hasil As String

If Val(Left(MyTens, 1)) = 1 Then
Select Case Val(MyTens)
Case 10: Hasil = “Sepuluh ”
Case 11: Hasil = “Sebelas ”
Case 12: Hasil = “Dua Belas ”
Case 13: Hasil = “Tiga Belas ”
Case 14: Hasil = “Empat Belas ”
Case 15: Hasil = “Lima Belas ”
Case 16: Hasil = “Enam Belas ”
Case 17: Hasil = “Tujuh Belas ”
Case 18: Hasil = “Delapan Belas ”
Case 19: Hasil = “Sembilan Belas ”
Case Else
End Select
Else

Select Case Val(Left(MyTens, 1))
Case 2: Hasil = “Dua Puluh ”
Case 3: Hasil = “Tiga Puluh ”
Case 4: Hasil = “Empat Puluh ”
Case 5: Hasil = “Lima Puluh ”
Case 6: Hasil = “Enam Puluh ”
Case 7: Hasil = “Tujuh Puluh ”
Case 8: Hasil = “Delapan Puluh ”
Case 9: Hasil = “Sembilan Puluh ”
Case Else
End Select

Hasil = Hasil & Satuan(Right(MyTens, 1))
End If

Puluhan = Hasil
End Function

Private Function Satuan(ByVal MyDigit)
Select Case Val(MyDigit)
Case 1: Satuan = “Satu ”
Case 2: Satuan = “Dua ”
Case 3: Satuan = “Tiga ”
Case 4: Satuan = “Empat ”
Case 5: Satuan = “Lima ”
Case 6: Satuan = “Enam ”
Case 7: Satuan = “Tujuh ”
Case 8: Satuan = “Delapan ”
Case 9: Satuan = “Sembilan ”
Case Else: Satuan = ” ”
End Select
End Function

pranoto Suwiknyo - Gravatar

pranoto Suwiknyo said on June 23, 2007, 9:13 am:

mas bisa bantu saya ndak gimana cara supaya bisa menjadi satuan aja misalnya 4.50 dijadikan ke angka menjadi( empat koma Lima Nol )tolong saya mas untuk penulisan nilai angka siswa saya..

izzad - Gravatar

izzad said on July 18, 2007, 9:55 am:

Mas eko tks banget atas codenya, gimana ya biar code macro tersebut bisa berjalan disetiap file yang kita punya/buat, tanpa harus insert kedalam setiap worksheet, maksudnya biar macro tersebut bisa berlaku global setiap kita create file excel baru ataupun file-file excel kita yang lama

tks

AGID - Gravatar

AGID said on July 18, 2007, 9:16 pm:

SDH BAGUS… AKU COBA DAN BERHASIL, TAPI APABILA DI INPUT BILANGAN YANG TERLALU PANJANG, MAKA HASILNYA TETAP PADA BARIS YANG SAMA, BISA GA DIBUAT SABUNGAN TERBILANGNYA PADA BARIS BERIKUTNYA,KALAU BISA, GIMANA CARANYA?..
TKS

The Goeh - Gravatar

The Goeh said on July 21, 2007, 7:38 pm:

waduh… makasih banget nih atas scriptnya. kebetulan juga lagi nyari. mudah2an sih bisa dibenahi lebih baik lagi algoritmanya. belajar bersama lebih semangat euy…

maseko - Gravatar

maseko said on July 21, 2007, 10:48 pm:

#44
Mungkin lain waktu saya coba.

#45
Dibuat add-in dulu dengan menyimpan file sebagai add-in, nanti load add-in tersebut, sehingga setiap kali membuka dokumen excel, fungsi tersebut sudah tersedia.

#46
Coba manfaatkan fasilitas wrapping cell-nya, semoga sesuai.

#47
Ditunggu hasilnya, jangan lupa nanti dibagi kepada yang lain.

Agid - Gravatar

Agid said on July 22, 2007, 2:22 am:

tks mas….wrapping cell nya berhasil…
mas eko, bisa bantu aku ga? gimana caranya mau ngopy dari cell yang sdh ada formulanya ke cell lain dengan tidak mengikutkan formula tersebut.
tks sebelumnya..

agid - Gravatar

agid said on July 22, 2007, 11:14 am:

mas… kalau bisa dengan macro nya juga..

tks.

maseko - Gravatar

maseko said on July 22, 2007, 3:42 pm:

#49,50
Tanpa harus dengan makro, Excel sudah memfasilitasi mennyalin tanpa harus megikutkan formulanya, gunakan Edit - Paste Special.. dan pilih Value.

agid - Gravatar

agid said on July 22, 2007, 10:26 pm:

tks mas… Panjang umur dan sukses, karena selalu membantu orang, walaupun orang yang tidak di kenal sama sekali..

Salam..

siti - Gravatar

siti said on July 31, 2007, 2:13 pm:

Ini udah saya cari-cari, udah belajar dari yang lain tapi gak jebol. Makasih banyak yaa, infonya bermanfaat bangeet… semoga Maseko selalu sukses deh!!

Fajar - Gravatar

Fajar said on August 1, 2007, 10:12 am:

Bagaimana dengan menggunakan bahasa inggrisnya..??, bagimana pengcode-annya yach..??

andre wirabuana - Gravatar

andre wirabuana said on August 3, 2007, 10:28 pm:

Halo mas eko, saya mo bantu temen yg butuh soucrce code menggunakan fungsi terbilang dengan bahasa inggris
berikut list codenya :
Private Function SpellDigit(strNumeric As Integer)
Dim cRet As String
On Error GoTo Pesan
cRet = “”
Select Case strNumeric
Case 0: cRet = ” zero”
Case 1: cRet = ” one”
Case 2: cRet = ” two”
Case 3: cRet = ” three”
Case 4: cRet = ” four”
Case 5: cRet = ” five”
Case 6: cRet = ” six”
Case 7: cRet = ” seven”
Case 8: cRet = ” eight”
Case 9: cRet = ” nine”
Case 10: cRet = ” ten”
Case 11: cRet = ” eleven”
Case 12: cRet = ” twelve”
Case 13: cRet = ” thirteen”
Case 14: cRet = ” fourteen”
Case 15: cRet = ” fifteen”
Case 16: cRet = ” sixteen”
Case 17: cRet = ” seventeen”
Case 18: cRet = ” eighteen”
Case 19: cRet = ” ninetieen”
Case 20: cRet = ” twenty”
Case 30: cRet = ” thirty”
Case 40: cRet = ” fourthy”
Case 50: cRet = ” fifty”
Case 60: cRet = ” sixty”
Case 70: cRet = ” seventy”
Case 80: cRet = ” eighty”
Case 90: cRet = ” ninety”
Case 100: cRet = ” one hundred”
Case 200: cRet = ” two hundred”
Case 300: cRet = ” three hundred”
Case 400: cRet = ” four hundred”
Case 500: cRet = ” five hundred”
Case 600: cRet = ” six hundred”
Case 700: cRet = ” seven hundred”
Case 800: cRet = ” eight hundred”
Case 900: cRet = ” nine hundred”
End Select
SpellDigit = cRet
Exit Function
Pesan:
SpellDigit = “(maksimal 9 digit)”
End Function

Private Function SpellUnit(strNumeric As Integer)
Dim cRet As String
Dim n100 As Integer
Dim n10 As Integer
Dim n1 As Integer
On Error GoTo Pesan
cRet = “”
n100 = Int(strNumeric / 100) * 100
n10 = Int((strNumeric - n100) / 10) * 10
n1 = (strNumeric - n100 - n10)
If n100 > 0 Then
cRet = SpellDigit(n100)
End If
If n10 > 0 Then
If n10 = 10 Then
cRet = cRet & SpellDigit(n10 + n1)
Else
cRet = cRet & SpellDigit(n10)
End If
End If
If n1 > 0 And n10 10 Then
cRet = cRet & SpellDigit(n1)
End If
SpellUnit = cRet
Exit Function
Pesan:
SpellUnit = “(maksimal 9 digit)”
End Function

Public Function TerbilangInggris(strNumeric As String) As String
Dim cRet As String
Dim n1000000 As Long
Dim n1000 As Long
Dim n1 As Integer
Dim n0 As Integer
On Error GoTo Pesan
Dim strValid As String, huruf As String * 1
Dim i As Integer
‘Periksa setiap karakter masukan
strValid = “1234567890.,”
For i% = 1 To Len(strNumeric)
huruf = Chr(Asc(Mid(strNumeric, i%, 1)))
If InStr(strValid, huruf) = 0 Then
MsgBox “Harus karakter angka!”, _
vbCritical, “Karakter Tidak Valid”
Exit Function
End If
Next i%

If strNumeric = “” Then Exit Function
If Len(Trim(strNumeric)) > 9 Then GoTo Pesan

cRet = “”
n1000000 = Int(strNumeric / 1000000) * 1000000
n1000 = Int((strNumeric - n1000000) / 1000) * 1000
n1 = Int(strNumeric - n1000000 - n1000)
n0 = (strNumeric - n1000000 - n1000 - n1) * 100
If n1000000 > 0 Then
cRet = SpellUnit(n1000000 / 1000000) & ” million”
End If
If n1000 > 0 Then
cRet = cRet & SpellUnit(n1000 / 1000) & ” thousand”
End If
If n1 > 0 Then
cRet = cRet & SpellUnit(n1)
End If
If n0 > 0 Then
cRet = cRet & ” and cents” & SpellUnit(n0)
End If
TerbilangInggris = cRet & ” only”
Exit Function
Pesan:
TerbilangInggris = “(maximum 9 digit)”
End Function

Private Sub txtAngka_Change()
lblTerbilang.Caption = TerbilangInggris(txtAngka.Text)
End Sub

Source code ini berasal dari: http://www.geocities.com/masino_sinaga/terbilanginggris.html 1

didik - Gravatar

didik said on August 8, 2007, 10:41 am:

Terima kasih mas eko functionnya sangat bermanfaat, tapi saya masih nyari satu function lagi yaitu untuk pembulatan keatas dan kebawah semisal >125 rupiah dibulatkan keatas jadi 150 kalo ikatlah ilmu dengan menuliskannya, membagikannya, menerapkannya.

anakAbG - Gravatar

anakAbG said on August 9, 2007, 4:47 pm:

Makasih Scriptnya Mas Eko dan mas-mas lainnya yang udah ngasih List Codenya secara gratis.
Oh ya Mas saya ada masalah sama List Code di bawah ini Mudah-mudahan mas eko atau mas-mas yang lain sudi membantu saya. Berikut List Codenya :

Public Function Terbilang(x As Currency)
Dim triliun As Currency
Dim milyar As Currency
Dim juta As Currency
Dim ribu As Currency
Dim satu As Currency
Dim sen As Currency
Dim baca As String
If x > 1000000000000# Then
Terbilang = “”
Exit Function
End If
‘Jika x adalah 0, maka dibaca sebagai 0
If x = 0 Then
baca = angka(0, 1)
Else
‘Pisah masing-masing bagian untuk triliun, milyar, juta, ribu, rupiah, dan sen
triliun = Int(x * 0.001 ^ 4)
milyar = Int((x - triliun * 1000 ^ 4) * 0.001 ^ 3)
juta = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3) / 1000 ^ 2)
ribu = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2) / 1000)
satu = Int(x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2 - ribu * 1000)
sen = Int((x - Int(x)) * 100)
‘Baca bagian triliun dan ditambah akhiran triliun
If triliun > 0 Then
baca = ratus(triliun, 5) + “triliun ”
End If
‘Baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = ratus(milyar, 4) + “milyar ”
End If
‘Baca bagian juta dan ditambah akhiran juta
If juta > 0 Then
baca = baca + ratus(juta, 3) + “juta ”
End If
‘Baca bagian ribu dan ditambah akhiran ribu
If ribu > 0 Then
baca = baca + ratus(ribu, 2) + “ribu ”
End If
‘Baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + ratus(satu, 1) + “rupiah ”
Else
baca = baca + “rupiah”
End If
‘Baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + ratus(sen, 0) + “sen”
End If
End If
Terbilang = UCase(Left(baca, 1)) & LCase(Mid(baca, 2))
End Function

Function ratus(x As Currency, Posisi As Integer) As String
Dim a100 As Integer, a10 As Integer, a1 As Integer
Dim baca As String
a100 = Int(x * 0.01)
a10 = Int((x - a100 * 100) * 0.1)
a1 = Int(x - a100 * 100 - a10 * 10)
‘Baca Bagian Ratus
If a100 = 1 Then
baca = “Seratus ”
Else
If a100 > 0 Then
baca = angka(a100, Posisi) + “ratus ”
End If
End If
‘Baca Bagian Puluh dan Satuan
If a10 = 1 Then
baca = baca + angka(a10 * 10 + a1, Posisi)
Else
If a10 > 0 Then
baca = baca + angka(a10, Posisi) + “puluh ”
End If
If a1 > 0 Then
baca = baca + angka(a1, Posisi)
End If
End If
ratus = baca
End Function

Function angka(x As Integer, Posisi As Integer)
Select Case x
Case 0: angka = “Nol”
Case 1:
If Posisi 2 Then
angka = “Satu ”
Else
angka = “Se”
End If
Case 2: angka = “Dua ”
Case 3: angka = “Tiga ”
Case 4: angka = “Empat ”
Case 5: angka = “Lima ”
Case 6: angka = “Enam ”
Case 7: angka = “Tujuh ”
Case 8: angka = “Delapan ”
Case 9: angka = “Sembilan ”
Case 10: angka = “Sepuluh ”
Case 11: angka = “Sebelas ”
Case 12: angka = “Duabelas ”
Case 13: angka = “Tigabelas ”
Case 14: angka = “Empatbelas ”
Case 15: angka = “Limabelas ”
Case 16: angka = “Enambelas ”
Case 17: angka = “Tujuhbelas ”
Case 18: angka = “Delapanbelas ”
Case 19: angka = “Sembilanbelas ”
End Select
End Function

****
Masalahnya gak bisa baca Misalnya 21752 (Dua puluh satu ribu…) dan yang dibacanya (Dua puluh seribu ….)
Mohon Bantuannya Mas
Terimakasih.

kujang101 - Gravatar

kujang101 said on August 27, 2007, 3:24 pm:

Thanks dulu bro atas macronya. Aq tahunya dari temen nih.

Tapi ini ada pertanyaan/masalah dikit.
Waktu aq buat macro ini di workbook baru, lancar aja alias sukses.

Nah, waktu mau implementasi ke file yang sudah duluan exist ko keluarnya #NAME gitu?

Apa memang harus selalu dengan workbook yang baru?

maseko - Gravatar

maseko said on August 27, 2007, 6:40 pm:

#58
Seharusnya pada workbook yang sudah ada maupun baru tetap berjalan.

kujang101 - Gravatar

kujang101 said on August 28, 2007, 9:09 am:

nah, itu dia bro. Kenapa yach kira2?

kujang101 - Gravatar

kujang101 said on September 5, 2007, 10:32 am:

Ralat bro…..

Udah bisa ternyata….

Makasih…. :shakehand

andry - Gravatar

andry said on September 7, 2007, 10:02 am:

mas eko, ada ga’ penulisan rumus seperti itu di Microsoft Access ?

thx
andry

maseko - Gravatar

maseko said on September 7, 2007, 2:14 pm:

#62
Dulu saya pakai fungsi yang sama di access, bisa kok..

Haeruddin - Gravatar

Haeruddin said on September 28, 2007, 8:58 am:

bagaimana kalau mau menerjemahkan seperti pada SKHU (Surat Keteranan Hasil Ujian)? Contoh: 45,67 dibaca:Empat Lima, Enam Tujuh. Tolong dong !!!

sabriani - Gravatar

sabriani said on November 17, 2007, 9:22 am:

mau nanya kalo ini apa ya :
1. char
2. Len
3. Value
4. Trim
5. Subtitute
6. Rept
7. Replace
8. Code
9. Concatenate
10. exact

rahma - Gravatar

rahma said on November 19, 2007, 12:12 pm:

halo maseko

waduh thx banget nih buat source codenya….
aku kebantu banget, kebetulan dikantor temen ada yang minta dibuatin, pas bgt dpt “jurus” nya.
tapi yang mo aku tanyain sama kaya pertanyaan no 58
Nah, waktu mau implementasi ke file yang sudah duluan exist ko keluarnya #NAME gitu?

Apa memang harus selalu dengan workbook yang baru?

—> kalo pindah komputer, apa kita harus buat lagi dari awal?

ada cara lebih mudah ga maseko?

thx yaa

jul - Gravatar

jul said on December 5, 2007, 3:17 pm:

thx y
da memudahkan qu nyelesai tugas qu

ema - Gravatar

ema said on December 7, 2007, 3:54 pm:

mas ko aku tersendat pada saat mengkopi dan paste list programnya , karena tampilan gambarnya nga muncul , tolong dong mas ,

Nandar - Gravatar

Nandar said on December 15, 2007, 6:24 pm:

Aku mo minta tolong nih, apa ya code makronya kalo misalnya kita periksa dalam satu kolom, truss ada yang #N/A..nah yang baris #N/A ini mo dipindahkan ke sheet yang baru….thanks ya..

arie - Gravatar

arie said on December 17, 2007, 5:39 pm:

thanks bgt rumus nya..
tinggal masukin ke cell..
jadi deh..

klo yg versi english nya gmn?
bisa di bikin rumus seperti bhs indonesia ngga?

klo yg dikasi skrip kayak yg diatas…
harus bikin interface yg baru ya..
buat nampilin terbilangnya

tolak_bala - Gravatar

tolak_bala said on December 21, 2007, 11:37 am:

om boleh tanya ya ?? (tanya aja ntar pasti dijawab)..
heheheheee. thanks ya ??

gimana caranya mengubah angka desimal menjadi teks ?? misalnya gini : 8.55 ntar jadinya gini : delapan koma lima puluh lima ..
oke om yang baik dan rajin menabung thanks atas bantuannya.. semoga Tuhan Yang Maha Kuasa melindungi kita semua … Amiiiinnnnn…

maseko - Gravatar

maseko said on December 21, 2007, 2:39 pm:

#64, 71
Sampai saat ini masih belum sempat mengubah kode agar mendukung penulisan desimal. Mohon maaf.

#66
Pada file yang sudah digunakan kode ini, simpan saja sebagai add-in, nanti office disetting agar load file add-in yang dibuat.

fredi - Gravatar

fredi said on January 21, 2008, 1:28 pm:

terima kasih mas, saya sangat terbatu dengan cara ini

fredi - Gravatar

fredi said on February 2, 2008, 9:42 am:

mas lam kenal saya fredi.

mas eko saya mau tanya gimana klo pembulatan nilai ke ratusan?
contoh : 24734 menjadi = 24750 atau 24800
terima kasih

Fungsi Terbilang Excel, Mengubah Angka Ke Huruf. « c1p1 - Gravatar

Fungsi Terbilang Excel, Mengubah Angka Ke Huruf. « c1p1 said on February 2, 2008, 8:10 pm:

[...] saya teringat dengan salah sati artikel yang di tulis maseko. [...]

Sanders - Gravatar

Sanders said on February 11, 2008, 11:52 am:

Siang mas, saya baru lihat website ini pas lagi cari info tentang pembulatan nilai rupiah pada kasus yang ditanyakan sdr. Aan yaitu :

100.045 menjadi 100.000
313.921 menjadi 314.000 atau 313.500
204.349 menjadi 204.350
apakah bapak (atau yang pengomentar lain) bisa memberikan jawaban?

Bisa gak ya masEko, makasih banyak,… saya tunggu jawabannya… Trims lagi

aque - Gravatar

aque said on February 14, 2008, 1:20 pm:

lam kenal. langsung saja, semisal saya mengetikan kata joko, kemudian sy akan mengambil huruf k nya saya. sy hrs menggunakan rumus apa yah. pleaseeee bantu me yah

otes - Gravatar

otes said on February 26, 2008, 9:56 am:

saya punya masalah mengenai coversi macro lotos ke excel tolong dong cari solusinya

cool - Gravatar

cool said on March 14, 2008, 9:27 am:

kalo pengen ada kurung tutup bukanya gmn yah

misal 100 –> (seratus rupiah)

betha - Gravatar

betha said on March 28, 2008, 11:11 pm:

terima kasih sekali, kerna aku bekerja sering membuat RAB

uyajelek - Gravatar

uyajelek said on March 31, 2008, 6:11 pm:

WAHHHHH…… rame juga ya yang bahas exel,,,,,,

Mas eko harus bekerja keras nih…..
Semangat terus mas……… kita dukung mas eko…..

ciayo….

oh iya mas….. kita tunggu juga untuk terbilang versi englishnya ya….

(”,)

RIDWAN - Gravatar

RIDWAN said on April 3, 2008, 10:00 pm:

TDK USAH PAKAI VB EDITOR JG BISA, HANYA DLM 1 SHEET SAJA, SUDAH BISA PAKAI U/ TERBILANG RUPIAH & USD. TERBUKTI SY BIKIN U/ DIKANTOR. HUBUNGI EMAI SY:INDONESIAGOOGLE@YAHOO.COM

sahabat - Gravatar

sahabat said on April 10, 2008, 2:05 pm:

bagimana kalo diterapkan di Ms. Acces Mas… Mohon pencerahannya..
terima kasih…

mau saya output di reportnya….
fungsi harus di simpan : di modul or di event … or di mana…..

Haris - Gravatar

Haris said on April 18, 2008, 11:50 am:

Wah… Thanks berat boss, artikelnya sangat membantu

koentadi - Gravatar

koentadi said on April 25, 2008, 8:27 pm:

Terima kasih banyak mas, sukses selalu

Mr-Manto - Gravatar

Mr-Manto said on May 3, 2008, 7:47 am:

Ma kasih banyak deh. smoga selalu jaya di dunia maya

Leave A Comment

All fields marked with "*" are required.