Menerjemahkan Angka ke Kata-kata di dalam Microsoft Excel July 25, 2005 by maseko 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 5. Setelah Anda selesai mengcopy pilih File > Close and Return to Microsoft Excel untuk kembali ke workbook MS Excel. 6. Simpan workbook tersebut, namai misalnya terbilang.xls. 7. 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. 8. Pilih Insert > Function…, maka akan muncul dialog box daftar fungsi di MS Excel. Lihat Gambar 3.
Gambar 3 9. 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 10. 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. 11. 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 (”). 12. 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. Posted in MS Office
Tulisan lain yang mungkin terkait dengan tulisan di atas: 1. 2. 3. 4. 5.
Fungsi Terbilang untuk OpenOffice.org Fungsi Terbilang Untuk PHP Jumlah Baris dan Kolom Excel 2007 yang Berkurang Lupa Password Worksheet Microsoft Excel? Microsoft Excel: Zero Leading
107 Responses to “Menerjemahkan Angka ke Kata-kata di dalam Microsoft Excel”
#1
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?
#2
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.
#3
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
#4
maseko said on January 6, 2006, 6:51 pm:
aaa, kemungkinan setting securitynya terlalu tinggi Coba dari Tools > Macro > Security.. Pilih yang Medium.
#5
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
#6
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.
#7
lulu said on February 20, 2006, 1:48 pm: Bagaimana kalau bekerja dengan microsoft word?
#8
Kiki said on February 23, 2006, 5:16 am: Tetep ga bisa nerjemahin ke “Seribu…” Maksudnya, konversinya jadi “Satu Ribu”
#9
Kiki said on February 23, 2006, 7:24 am: Sori kurang lengkap, coba input 1.001.000
#10
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.
#11
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
#12
maseko said on February 28, 2006, 8:19 pm: Wah.. terima kasih sekali nih GusRiz
#13
Arga said on March 3, 2006, 8:47 am: error pada Office 97
#14
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.
#15
Asharuddin Nasution said on March 22, 2006, 2:30 pm: Tolong donk! Aq pengen tau tentang semua fungsi excel (fungsi matematika, statistika, logika dll)
#16
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.
#17
Radjah said on March 25, 2006, 3:25 pm: Cucok…cucok..
#18
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.
#19
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
#20
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)
#21
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
#22
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)
#23
hery said on August 5, 2006, 12:20 pm:
kalau untuk dollar dengan point gimana
#24
budi said on August 11, 2006, 2:04 pm: kalau yang versi english_nya ada nggak mas?
#25
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.
#26
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~
#27
Xander said on October 16, 2006, 10:47 pm:
Kalau di Excel 2003 bisa gak ya, soalnya nggak ada pilihan User Define pada function…??
#28
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”.
#29
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
#30
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.
#31
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
#32
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
#33
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.
#34
Guzze said on April 2, 2007, 3:19 pm: maseko function ini bagusssss bgt thx
#35
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.
#36
lanting said on April 10, 2007, 10:39 pm: gimana caranya / fungsi excel utk menghitung rumus ujian nasional 2007 yang ada 2 opsi.
#37
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.
#38
sinta said on April 11, 2007, 3:01 pm:
#39
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.
#40
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…..!
#41
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????
#42
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]
#43
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
#44
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..
#45
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
#46
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
#47
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…
#48
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.
#49
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..
#50
agid said on July 22, 2007, 11:14 am: mas… kalau bisa dengan macro nya juga.. tks.
#51
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.
#52
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..
#53
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!!
#54
Fajar said on August 1, 2007, 10:12 am: Bagaimana dengan menggunakan bahasa inggrisnya..??, bagimana pengcode-annya yach..??
#55
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
#56
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.
#57
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.
#58
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?
#59
maseko said on August 27, 2007, 6:40 pm: #58 Seharusnya pada workbook yang sudah ada maupun baru tetap berjalan.
#60
kujang101 said on August 28, 2007, 9:09 am: nah, itu dia bro. Kenapa yach kira2?
#61
kujang101 said on September 5, 2007, 10:32 am: Ralat bro….. Udah bisa ternyata…. Makasih…. :shakehand
#62
andry said on September 7, 2007, 10:02 am: mas eko, ada ga’ penulisan rumus seperti itu di Microsoft Access ? thx andry
#63
maseko said on September 7, 2007, 2:14 pm: #62 Dulu saya pakai fungsi yang sama di access, bisa kok..
#64
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 !!!
#65
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
#66
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
#67
jul said on December 5, 2007, 3:17 pm: thx y da memudahkan qu nyelesai tugas qu
#68
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 ,
#69
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..
#70
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
#71
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…
#72
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.
#73
fredi said on January 21, 2008, 1:28 pm: terima kasih mas, saya sangat terbatu dengan cara ini
#74
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
#75
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. [...]
#76
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
#77
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
#78
otes said on February 26, 2008, 9:56 am: saya punya masalah mengenai coversi macro lotos ke excel tolong dong cari solusinya
#79
cool said on March 14, 2008, 9:27 am:
kalo pengen ada kurung tutup bukanya gmn yah misal 100 –> (seratus rupiah)
#80
betha said on March 28, 2008, 11:11 pm: terima kasih sekali, kerna aku bekerja sering membuat RAB
#81
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…. (”,)
#82
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:
[email protected]
#83
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…..
#84
Haris said on April 18, 2008, 11:50 am:
Wah… Thanks berat boss, artikelnya sangat membantu
#85
koentadi said on April 25, 2008, 8:27 pm: Terima kasih banyak mas, sukses selalu
#86
Mr-Manto said on May 3, 2008, 7:47 am: Ma kasih banyak deh. smoga selalu jaya di dunia maya
#87
mario benedicto said on May 19, 2008, 7:31 am: bos gw mau nanya tipa kali gw melakukan kalkulasi =C52+$C$7 maka hasilnya 96.62 tapi ktika gw paste spesial value 96.6199999999999 pada formula mengapa hal ini terjadi padahal angka yang dijumlahkan hanya 2angka dibelakang point dan seharusnya nga hasil dari penghitungan pun 2 angka dibelakang koma
#88
Ivan said on June 10, 2008, 11:11 am: mas eko, mohon bantuannya kenapa angka yang jmlhnya lebih dr 15 angka d bulatkan ya? bagaimana caranya untuk tdk membulatkan angka tsb karena angka yang saya pakai skitar 16-17 angka mas apakah bs membantu thanks before
#89
sidaus said on June 17, 2008, 6:11 pm:
thanks banget mas eko…. ilmu ini sangat berguna
#90
eiwan said on June 19, 2008, 8:50 am: bro mosko, salam kenal… keren abis dah…. terutama pas di add-in kan ke ms excel, biar di semua worksheet baru bisa di pake formula “terbilang” hehe…. thanks…
#91
Iis said on June 19, 2008, 10:09 am: Terima kasih mas eko, akhirnya saya bisa juga ….
cuma masih ada satu lagi nich … punya gak terbilang untuk dollar, sebetulnya saya sudah ada tapi di setiap awal tulisan hurupnya selalu Kapital … Terima kasih
#92
eko wahyono said on June 23, 2008, 12:04 pm: makasih mas, udah mbanyu aku tuk nemuinbingungku. soale aku butuh banget tuk buat laporan nilai dan kuitansi.
#93
eko wahyono said on June 27, 2008, 11:56 am: thank’s banyak mas, satu lagi tugasku tuk mbuat nilai skhu udah kelar. tapi klao mo nampilin nilai enam koma nol nol gimana yach? juga enam, tujuh dua gimana juga? mohon pencerahannya donk. thak’s.
#94
ben said on August 9, 2008, 12:23 pm: tq keren abiz )
#95
yohanes Wattimena said on August 15, 2008, 12:28 pm: gimana caranya membuat otomatis rumus dari sheet per sheet di microsoft exel 2003 bos ku lupa caranya,mohon bantuannya.
#96
miko said on September 23, 2008, 12:05 pm: kalo buat exel 2007 bisa tidak ya??
#97
embun said on October 13, 2008, 11:20 pm: waduh g mna ya aku sulit memahaminya soale aku belajar ms.exel juga belum lama g mna ya biyar cepet nyantolnya
#98
epank said on October 29, 2008, 9:31 pm: untuk pembuatan RAB bisanya gw pake fungsi bawaan excel =int(A1/1000)*1000 A1 = sel yg mau dibulatkan 1000 = pembulatan dalam ribuan (100 bila u ratusan)
#99
Dhidhin said on November 24, 2008, 11:18 am: aku ad module VB tuk baca angka (Itung-itung ikut sharing) ‘Module Baca_Angka ‘by Dhidhin Haris S ‘===================== ‘cara pakenya anda tinggal panggil fungsi : ‘ bacaangka(angka) ‘ ‘untuk konversi numerik ke string Private Function TAngka(Angka) As String Select Case Angka Case 0: TAngka = “nol ” Case 1: TAngka = “satu ” Case 2: TAngka = “dua ” Case 3: TAngka = “tiga ” Case 4: TAngka = “empat ” Case 5: TAngka = “lima ” Case 6: TAngka = “enam ” Case 7: TAngka = “tujuh ”
Case 8: TAngka = “delapan ” Case 9: TAngka = “sembilan ” End Select End Function Private Function Angka3D(Angka) As String ‘memecah angka menjadi ratusan, puluhan dan satuan sat = Mid(Angka, Len(Angka), 1) If Len(Angka) >= 2 Then pul = Mid(Angka, Len(Angka) - 1, 1) If Len(Angka) = 3 Then rat = Mid(Angka, Len(Angka) - 2, 1) End If End If ‘untuk ratusan Select Case rat Case 0: tr = “” Case 1: tr = “seratus ” Case Else: tr = TAngka(rat) & “ratus ” End Select ‘untuk puluhan Select Case pul Case 0: tp = “” Case 1: Select Case sat Case 0: tp = “sepuluh ” Case 1: tp = “sebelas ” Case Else: tp = TAngka(sat) & “belas ” End Select GoTo final Case Else: tp = TAngka(pul) & “puluh ” End Select ‘untuk satuan Select Case sat Case 0: ts = “” Case Else: ts = TAngka(sat) End Select final: Angka3D = tr & tp & ts
End Function Private Function BcAng(Angka) As String Dim group(9) Teks = “” pj = Len(Angka) If pj > 27 Then MsgBox “Digit terlalu panjang ! ” & vbCrLf & “Maksimum 27 Digit” Else ‘menghitung jumlah group n = pj \ 3 ‘untuk group sisa If (pj Mod 3) 0 Then group(n + 1) = Mid(Angka, 1, pj - 3 * n) If group(n + 1) = 1 And ((n + 1) = 2 Or (n + 1) = 6) Then Teks = “se” Else Teks = Angka3D(group(n + 1)) End If If Teks “” Then Select Case n + 1 Case 2: Teks = Teks & “ribu ” Case 3: Teks = Teks & “juta ” Case 4: Teks = Teks & “milyar ” Case 5: Teks = Teks & “trilyun ” Case 6: Teks = Teks & “ribu trilyun ” Case 7: Teks = Teks & “juta trilyun ” Case 8: Teks = Teks & “milyar trilyun ” Case 9: Teks = Teks & “trilyun trilyun ” End Select End If End If ‘untuk masing-masing group For i = n To 1 Step -1 group(i) = Mid(Angka, pj - 3 * i + 1, 3) If group(i) = 1 And (i = 2 Or i = 6) Then Teks = Teks & “se” Else
Teks = Teks & Angka3D(group(i)) End If If Angka3D(group(i)) “” Then Select Case i Case 2: Teks = Teks & “ribu ” Case 3: Teks = Teks & “juta ” Case 4: Teks = Teks & “milyar ” Case 5: Teks = Teks & “trilyun ” Case 6: Teks = Teks & “ribu trilyun ” Case 7: Teks = Teks & “juta trilyun ” Case 8: Teks = Teks & “milyar trilyun ” Case 9: Teks = Teks & “trilyun trilyun ” End Select End If Next i If Angka = 0 Then Teks = “nol” BcAng = Teks End If End Function Private Function AdaKoma(Teks) As Boolean AdaKoma = False For i = 1 To Len(Teks) st = Mid(Teks, i, 1) If st = “.” Or st = “,” Then AdaKoma = True End If Next i End Function Private Function AdaRupiah(Teks) As Boolean AdaRupiah = False If UCase(Left(Teks, 2)) = “RP” Then AdaRupiah = True End Function Private Function AdaNegatif(Teks) As Boolean AdaNegatif = False If Left(Teks, 1) = “-” Then AdaNegatif = True End Function
Public Function BacaAngka(Angka) As String If AdaRupiah(Angka) Then smt = BacaAngka(Right(Angka, Len(Angka) - 2)) BacaAngka = smt & ” rupiah” Exit Function End If If AdaNegatif(Angka) Then smt = BacaAngka(Right(Angka, Len(Angka) - 1)) BacaAngka = “negatif ” & smt Exit Function End If If AdaKoma(Angka) Then kt = InStr(1, Angka, “,”) If kt = 0 Then sp = Split(Angka, “.”) Else sp = Split(Angka, “,”) BacaAngka = BcAng(sp(0)) & ” koma ” For i = 1 To Len(sp(1)) BacaAngka = BacaAngka & TAngka(Mid(sp(1), i, 1)) Next i Else BacaAngka = BcAng(Angka) End If End Function
#100
sampuray_x said on November 25, 2008, 11:11 am: maseko, gambarnya ko serem.. gambarnya kematian n kuburan, apakah ada yang nge hack…or emang sengaja ?
#101
maseko said on November 25, 2008, 11:20 am: #100 Saya malah baru tahu, itu aslinya gambar dihosting di imageshack.us, dan saya masih belum tahu kenapa bisa begitu.
#102
Muklis said on December 24, 2008, 3:54 pm: mas tenk’s ya tuk skripnya ms excel, sy coba bisa tapi kalau ms excelnya ditutup dan dibuka lagi fungsinya tidak jalan. apakah setiap menggunakan sekrip tersebut harus membuka lembar kerja baru lagi? tolong beri sy soal dan pembahasan tentang ms excel ke email ini ;
[email protected].
#103
salman said on December 26, 2008, 8:07 pm: malem, saya mau tanya tentang excel!gimana si cara buat penjumlahan agar terbilangnya sama dengan hasil jumlah angkanya?
#104
Fadjar Teguh Novianto said on January 6, 2009, 8:54 am: mas ijin ngunduh…. iya mas kok step by step nya gambar kuburan gitu??? boleh kirim ke imel saya langkah2 pembuatan fungsi terbilang pada ms xcell nya mas? ke
[email protected] bisa juga mas…. nuwun..
#105
Fadjar Teguh Novianto said on January 6, 2009, 9:02 am: oh iya mas lupa… klo di ms office 2007 gmn? sama ajakah? makasi sekali lagi…
#106
Dwi WJ said on January 7, 2009, 10:55 am: Mohon ijin sharing Mas. Script ini saya masukkan ke VBA. Utk contoh angka 25,655,245.36 akan dihasilkan : Dua Puluh Lima Juta Enam Ratus Lima Puluh Lima Ribu Dua Ratus Empat Puluh Lima Rupiah dan Tiga Puluh Enam Sen. Penerapannya dng rumus =inrupiah(25655245.36) Smoga bermanfaat
[email protected] mulai copy : ‘****************’ Main Function *’**************** Function Inrupiah(ByVal MyNumber) Dim Rupiah, Sen, Temp, llSeribu Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = ” Ribu ” Place(3) = ” Juta ” Place(4) = ” Miliar ” Place(5) = ” Trilyun ” ‘ String representation of amount MyNumber = Trim(Str(MyNumber)) ‘ Position of decimal place 0 if none DecimalPlace = InStr(MyNumber, “.”) ‘Convert cents and set MyNumber to Rupiah amount If DecimalPlace > 0 Then Sen = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & “00″, 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber “” Temp = GetHundreds(Right(MyNumber, 3)) If Temp “” Then Rupiah = Temp & Place(Count) & Rupiah If Len(MyNumber) > 3 Then llSeribu = IIf(Len(MyNumber) = 4 And Mid(MyNumber, 1, 1) = _ “1″, True, False) MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = “” End If Count = Count + 1
Loop Select Case Rupiah Case “” Rupiah = “Nol Rupiah” Case “One” Rupiah = “Satu Rupiah” Case Else If llSeribu Then Rupiah = Trim(Rupiah) & ” Rupiah” Rupiah = Application.Substitute(Rupiah, “Satu Ribu”, “Seribu”) Else Rupiah = Trim(Rupiah) & ” Rupiah” End If End Select Select Case Sen Case “” Sen = “” ‘” dan Nol Sen” Case “One” Sen = ” dan Satu Sen” Case Else Sen = ” dan ” & Sen & ” Sen” End Select Inrupiah = Trim(Rupiah) & Sen End Function ‘******************************************* ‘ Converts a number from 100-999 into text * ‘******************************************* Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right(”000″ & MyNumber, 3) ‘Convert the hundreds place If Mid(MyNumber, 1, 1) “0″ Then If Mid(MyNumber, 1, 1) = “1″ Then Result = ” Seratus ” Else Result = GetDigit(Mid(MyNumber, 1, 1)) & ” Ratus ”
End If End If ‘Convert the tens and ones place If Mid(MyNumber, 2, 1) “0″ Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Trim(Result) End Function ‘********************************************* ‘ Converts a number from 10 to 99 into text. * ‘********************************************* Function GetTens(TensText) Dim Result As String Result = “” ‘null out the temporary function value If Val(Left(TensText, 1)) = 1 Then ‘ If value between 10-19 Select Case Val(TensText) Case 10: Result = “Sepuluh” Case 11: Result = “Sebelas” Case 12: Result = “Dua Belas” Case 13: Result = “Tiga Belas” Case 14: Result = “Empat Belas” Case 15: Result = “Lima Belas” Case 16: Result = “Enam Belas” Case 17: Result = “Tujuh Belas” Case 18: Result = “Delapan Belas” Case 19: Result = “Sembilan Belas” Case Else End Select Else ‘ If value between 20-99 Select Case Val(Left(TensText, 1)) Case 2: Result = “Dua Puluh ” Case 3: Result = “Tiga Puluh ” Case 4: Result = “Empat Puluh ” Case 5: Result = “Lima Puluh ” Case 6: Result = “Enam Puluh ” Case 7: Result = “Tujuh Puluh ”
Case 8: Result = “Delapan Puluh ” Case 9: Result = “Sembilan Puluh ” Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ‘Retrieve ones place End If GetTens = Trim(Result) End Function ‘******************************************* ‘ Converts a number from 1 to 9 into text. * ‘******************************************* Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = “Satu” Case 2: GetDigit = “Dua” Case 3: GetDigit = “Tiga” Case 4: GetDigit = “Empat” Case 5: GetDigit = “Lima” Case 6: GetDigit = “Enam” Case 7: GetDigit = “Tujuh” Case 8: GetDigit = “Delapan” Case 9: GetDigit = “Sembilan” Case Else: GetDigit = “” End Select End Function
#107
AriefDJ™ said on January 14, 2009, 11:31 am:
ThX a lot.. Sebelomnya pake fungsi biasa yang sangat ribet, dan cuman bisa utk 1 cell..