Fungsi Merubah Angka ke Kata Untuk MS Excel

Fungsi Terbilang(…) dan TerbilangRp(…), dan TerbilangSen(…)
Kalau anda sering membuat kuitansi maka fungsi ini penting. Pada worksheet ini kita memakai fungsi terbilang yang telah di entry pada module Terbilang
Pada module tersebut kita memiliki dua fungsi utama untuk menampilkan angka menjadi:
1. Terbilang(x) -> sekian koma sekian per seratus
2. TerbilangRp(x) -> sekian rupiah sekian sen
2. TerbilangSen(x) -> sekian koma sekian sekian

anda dapat melihat listing dan download file terbilang.zip dibawah ini

Penggunaannya sama dengan penggunaan fungsi-fungsi dalam excel lainnya.

Contoh 922,337,203,685,477.00

Sengaja file ini tidak diprotect ataupun dibuat menjadi xla untuk mendorong kreativitas anda dalam vba-excel.

Untuk mendownload file terbilang.zip

Ditulis : = TerbilangRp(B9)
Hasilnya:
Sembilan ratus dua puluh dua triliun tiga ratus tiga puluh tujuh milyar dua ratus tiga juta enam ratus delapan puluh lima ribu empat ratus tujuh puluh tujuh rupiah

Ditulis : = Terbilang(B9)
Hasilnya:
Sembilan ratus dua puluh dua triliun tiga ratus tiga puluh tujuh milyar dua ratus tiga juta enam ratus delapan puluh lima ribu empat ratus tujuh puluh tujuh

Sembilan ratus dua puluh dua triliun tiga ratus tiga puluh tujuh milyar dua ratus tiga juta enam ratus delapan puluh lima ribu empat ratus tujuh puluh tujuh

Memasukkan Fungsi Terbilang
Masukkan Kode dalam listing vba function dengan cara mengcopy seluruh kode
ke dalam module Vba dalam suatu worksheet.

1. Blok/sorot A1:A163 dan Copy atau Ctrl-C pada Sheet Listing Vba Function

2. Pilih Tool – Macro – Visual Basic Editor atau Alt-F11
3. Insert – Module
4. Edit – Paste atau Ctrl-V
5 File Save … Beri nama misalnya: BacaAngka atau yang lainnya
selesai
anda tinggal menggunakannya.

contoh

!!!! Ingat anda harus men-setup macro security ke medium !!!!
Caranya
1 Menu Tools pilih tab Security lalu

2 Tekan tombol Macro Security pilih option Medium tekan Ok

3 Tutup Microsoft Excell dan Exit dari Excell
4 Buka Microsoft Excell
5 Mulai

LISTING

‘This Public Function for Indonesian “Numeric to string Converstion”
‘You can copy, modify or take part of this function
‘Redesign and retouch to get new rupiah function by: aurinoradjamaris@yahoo.com
‘aurinodjamaris@gmail.com
Web Site:

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 > 1E+15 Then
Terbilang = “”
Exit Function
End If
‘jika x adalan 0, maka dibaca sebagai 0
If x = 0 Then
baca = angka(0, 1)
Else
‘Pisah masing-masing bagian untuk triliun, milyard, juta, ribu, rupiah dan per seratus
triliun = Int(x / 1000 ^ 4)
milyar = Int((x – triliun * 1000 ^ 4) / 1000 ^ 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)
‘triliun = Int(x / 1000 ^ 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 trilliun
If triliun > 0 Then
baca = Ratus(triliun, 5) + “triliun ”
End If

‘baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = 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
If ribu = 1 Then
baca = baca + “Seribu ”
Else

baca = baca + Ratus(ribu, 2) + “ribu ”
End If
End If
‘baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + Ratus(satu, 1)
End If
‘baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + “koma ” + Ratus(sen, 0) + “per seratus ”
End If
End If
Terbilang = UCase(Left(baca, 1)) & LCase(Mid(baca, 2))
End Function
Public Function TerbilangRp(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 > 1E+15 Then
TerbilangRp = “”
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, milyard, juta, ribu, rupiah dan sen
triliun = Int(x / 1000 ^ 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 trilliun
If triliun > 0 Then
baca = Ratus(triliun, 5) + “triliun ”
End If
‘baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = 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
If ribu = 1 Then
baca = baca + “Seribu ”
Else

baca = baca + Ratus(ribu, 2) + “ribu ”
End If
End If
‘baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + Ratus(satu, 1) + “”
End If
‘sebelum bagian sen
baca = baca & “rupiah ”
‘baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + Ratus(sen, 0) + “sen ”
End If
End If
TerbilangRp = 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)
If a100 = 1 Then
baca = “Seratus ”
Else
If a100 > 0 Then
baca = angka(a100, Posisi) + “ratus ”
End If
End If
‘baca bagian puluhan 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 Or 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
Public Function TerbilangSen(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 > 1E+15 Then
TerbilangSen = “”
Exit Function
End If
x = Round(x, 2)
‘jika x adalan 0, maka dibaca sebagai 0
If x = 0 Then
baca = angka(0, 1)
Else
‘Pisah masing-masing bagian untuk triliun, milyard, juta, ribu, rupiah dan per seratus
triliun = Int(x / 1000 ^ 4)
milyar = Int((x – triliun * 1000 ^ 4) / 1000 ^ 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)
‘triliun = Int(x / 1000 ^ 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 trilliun
If triliun > 0 Then
baca = Ratus(triliun, 5) + “triliun ”
End If

‘baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = 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
If ribu = 1 Then
baca = baca + “Seribu ”
Else

baca = baca + Ratus(ribu, 2) + “ribu ”
End If
End If
‘baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + Ratus(satu, 1)
End If
‘baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + “koma ” + angka(Left(sen, 1), 1) + angka(Right(sen, 1), 1)
End If
End If
TerbilangSen = UCase(Left(baca, 1)) & LCase(Mid(baca, 2))
End Function

Share

31 comments for “Fungsi Merubah Angka ke Kata Untuk MS Excel

  1. marwan
    September 20, 2008 at 12:56 am
    bagai mana cara untuk pembacaan angka minus ? misalnya -1000 terbilangnya minus seribu
  2. aurino
    September 20, 2008 at 6:44 pm
    Pak Marwan,

    Kalau mau langsung sebetulnya mudah, dengan memakai fungsi gabung text (concanate).

    contoh -10000 ada di sel A1

    =if(a1<0,”minus “&terbilang(A1), terbilang(A1))

    atau kita merubah VB-nya.

    Untuk merubah VBnya akan segera saya buatkan kalau waktu sedang senggang …

    Thank for your question

    http://excel.aurino.com
    http://mathematica.aurino.com
    http://abc-bsm.aurino.com

  3. November 5, 2008 at 7:19 am
    Dalam blog itu saya sebenarnya ingin mempublikasikan contoh kerjaan saya, tapi saya gk bisa caranya, tolong dong kirimin tips nya, Terima kasih atas komentar Bang Aurino atas blog saya, mohn saran dan masukannya. Saya Bekerja di sebuah sekolah di Tangerang selama 7 tahun jalan, saya cendrung menggunakan fungsi excell, untuk berbagai keperluan pengolahan data, namun saya tidak bisa mempublikasikannya, itulah latar belakang blog saya.
  4. aurino
    November 5, 2008 at 3:39 pm
    Memang di blogspot tidak menyediakan tempat untuk menampung file. biasanya file dititipkan di tempat lain yang menerima upload file sebagai contoh untuk coba search file storage atau free drive atau free upload … banyak sekali tempat penyimpanan file di belantara internet.

    Jadi kang alung dapat mengupload file contohpekerjaan.xls atau contoh.pdf dan linksnya di posting pada blog ilmu komputer kang alung.

    atau mulai coba blog di wordpress yang menyediakan upload file. (http://wordpress.com) yang juga gratis.

    nah kalau mau hosting yang menyediakan tempat gratis serta bisa blogging atau membuat website coba access http://blog.aurino.com

  5. wignyo
    December 15, 2008 at 12:49 pm
    Saya sering mengolah data pakai excel dan menggunakan macro tapi dibuatkan oleh temen bagaimana menggunakan macro diexcel.

    THANKS

  6. supian
    December 24, 2008 at 4:05 am
    Thanks banget, pekerjaan laporan keuangan sekolah saya lebih mudah, tapi ketika koma sekian masih muncul sen, bagaimana caranya supaya sen hilang,

    exel forever

  7. aurino
    December 25, 2008 at 8:10 pm
    Kalau sennya bisa dihilangkan dengan cara :
    Buat angkanya integer =terbilang(INT(1050.20)
  8. endro
    January 19, 2009 at 2:27 pm
    Kalau dalam SSP Pajak Panjang Kolomnya kan terbatas, gimana biar begitu kolom tidak muat terbilang nya berlanjut ke baris berikutnya?
    Tq
  9. miyo
    January 23, 2009 at 2:51 am
    Saya sedang belajar buat penghitungan gaji, termasuk pph21. Berapa harga software sederhana untuk payroll? thanks
  10. posp
    March 12, 2009 at 7:30 am
    baiklah!
    akan saya coba!
  11. bagus
    April 1, 2009 at 8:06 am
    mohon bantunaya tutoialnya membuat aplikasi penjualan dengan macro excel,
    penting sekali buat toko saya.
    kasih cara bikinya aja yang penting detail. makasih
    • aurino
      April 1, 2009 at 3:55 pm
      Pak bagus… bisa dijelaskan lebih lengkap maksud dari aplikasi penjualannya … apakah membuat faktur atau yang lainnya
  12. imam
    May 6, 2009 at 2:48 am
    pak minta tolong gimana kalau 4 desimal saya perlu yang 4 desimal, jadi kalau bisa terbilang, terbilansen, terbilang rp satu tambahan 4 desimal
  13. ivan
    November 18, 2009 at 4:56 pm
    Pak mohon bantuannya untuk mengubah angka ke dollar di Ms Excel gmn?
    • November 23, 2009 at 12:26 am
      @ivan: Pakai Format Accounting saja dan pilih curencynya $
  14. frie
    March 23, 2010 at 2:26 pm
    Dear Mas minta tolong, saya ada kendala di membuat hasil print di Giro / Cek

    contohnya saya mau buat angka : 5.700.251 ( Lima Juta Tujuh Ratus dua
    Puluh Lima Satu Rupiah )

    Contoh tersebut, yang saya inginkan, tetapi kalau kita buat =terbilang(A1) akan tampil lurus saja

    yang saya inginkan jika ga muat di tampilan diatas bisa pindah ke A2 sisa Tulisan huruf nya.

    Thanks

    Frinando Purba

    • March 25, 2010 at 1:23 am
      @ Frienando Purba
      Kita tidak perlu memotong menjadi dua sel atau lebih. Dalam excel ada fasiltas wrap text untuk menulis panjang
      Wrap Teks
      Ketika Anda ketik teks yang terlalu panjang untuk masuk dalam sel, teks tumpang tindih berikutnya sel. Jika Anda tidak ingin tumpang tindih sel berikutnya, Anda dapat wrap teks.

      Contoh Wrap Teks
      null

  15. esa
    June 4, 2010 at 1:08 pm
    bagaimana kalau untuk penulisan dalam daftar nilai ujian, karena ada bedanya, 68,00 ditulis Enam puluh delapan koma nol nol atau
    68,40 ditulis Enam puluh delapan koma empat nol atau 68,45 ditulis Enam puluh delapan koma empat lima (dalam desimalnya tidak pakai puluhan), saya dah pakai “terbilang” tapi hasil dalam desimal pakai kata puluhan dan nol nya tidak ada. mohon bantuannya, karena perlu untuk print daftar nilai. trims!
    • June 6, 2010 at 9:46 pm
      Thank you for your comment.
      “I am not sure why google sent me to this blog but I might as well say I have become pretty captivated by the information you have pulled together. How many days did it take to begin to get this many people coming to your site? I am pretty new to all this.”

      It took me 6 months to make my blog recognized by google without advertise it. To make your website appear sooner you should update consistently and of course advertise your website.

    • June 6, 2010 at 9:49 pm
      Fungsi terbilangnya harus diubah. Ganti bagian setelah koma menjadi tanpa puluh. jadi harus menambah fungsi baru untuk membaca angka saja.

      Ini file excel untuk Fungsi TerbilangNilai()

  16. Ady
    August 25, 2010 at 11:02 am
    Terima kasih atas materinya, sangat membantu. sukses selalu
  17. August 30, 2010 at 10:00 am
    kode macro terbilang punya saya cuman 23 baris… sekedar sharing
    http://norkuys.wordpress.com/2010/08/27/add-ins-terbilang-23-baris/
  18. adam
    September 30, 2010 at 10:31 am
    mohon bantuannya bagaimana cara membaca angka saja, misal 85 menjadi delapan lima atau 89,67 menjadi delapan sembilan koma enam tujuh. makasih.
  19. October 26, 2011 at 4:01 pm
    Bagaimana ya merubah hasil dari minus tak terhingga sampai nol dari hasil perkalian, bagi, tambah, kurang menjadi nol. dan hasil positipnya tetap terbaca sesuai hasil positipnya.

    Contoh : 2000 – 3000 = – 1000
    nah untuk merubah – 1000 itu menjadi 0 (nol) bagaimana ya.

    bukan hanya – 1000 tapi dari – (minus) tak terhingga sampai 0 (nol)tetap dirubah menjadi 0 ( nol ), kecuali ada nilai dari 1 sampai tak terhingga tetap menjadi 1 sampai tak terhingga.

    Trims

    Yacub

    • October 26, 2011 at 10:06 pm
      @Yacub

      B C D E F
      9 2000 - 3000 = 0
      10 Rumusnya =IF(B9-D9>0,B9-D9,0)
      11

  20. Azizah
    January 16, 2012 at 10:40 am
    mohon bantuan, bsgsimsns cara merubah nilai jad huruf , misal : 7,89 dirubah jadi tujuh,delapan sembilan … ???

    Trims

    Azizah

    • January 21, 2012 at 1:56 am
      ubah kata-kata “koma” menjadi “,” di fungsi terbilang

      baca = baca + “koma ” + angka(Left(sen, 1), 1) + angka(Right(sen, 1), 1)
      menjadi

      baca = baca + “ , ” + angka(Left(sen, 1), 1) + angka(Right(sen, 1), 1)

  21. DARWIN
    March 8, 2012 at 10:55 am
    Minta petunjuk nih,
    saya punya text dalam satu kolom itu Burn dan Good.
    bagaimana caranya, pada saaat tulis/memilih Burn remaknya menjadi 0 dan kalo good menjadi 1..?
    • March 31, 2012 at 11:35 am
      Langsung saja misal burn dan good ada di D mulai dari D2:D99

      maka dalam Kolom E misalnya di E2, =If(D2=”Burn”,0,1)

      Lalu copykan ke E3 sampai E99

  22. pujiono
    March 19, 2012 at 10:16 am
    bagaimana merubah angka 123,45 menjadi SERATUS DUA PULUH TIGA RUPIAH DAN 45/100 DOLLAR
    MOHON RUMUNSYA, TRIMS

Leave a Reply