Macro Excel: Mengubah Angka Menjadi Teks

Terbilang

Tiga hari yang lalu, seorang teman menghubungi saya lewat telepon, bertanya tentang formula untuk mengubah sebuah angka menjadi teks. Dia ingin mengubah, misalnya, angka 145 menjadi seratus empat puluh lima. Seperti tulisan “terbilang” yang ada di kuitansi-kuitansi.

Saya ingat, dulu saya pernah membuat sebuah macro di Excel yang berfungsi seperti ini. Sebenarnya, macro ini aslinya untuk teks berbahasa Inggris (saya lupa dapat dari mana1), kemudian saya mengubahnya menjadi berbahasa Indonesia. Karena adanya perbedaan struktur bahasa, tentu saja perubahan ini menjadi tidak sekadar hanya menerjemahkan.

Silakan unduh kodenya—hasil ubekan dari tumpukan file. Anda tinggal memasukkannya ke bagian module di MS Visual Basic pada berkas Excel Anda. Di worksheet, Anda bisa memanggil fungsi ini dengan menulis =terbilang(x). Angka x dapat Anda isikan langsung, atau dapat pula merupakan referensi ke sel lain.

Terbilang (1.23 KB)

Tambahan (23-04-2007). Bagi Anda yang kesulitan menerapkan macro ini, berikut adalah petunjuk singkatnya.

  1. Setelah berkas (file) di atas Anda unduh, bukalah dengan aplikasi pembaca teks. WordPad, misalnya.
  2. Bukalah berkas Excel yang baru, atau berkas milik Anda yang ingin ditambahi kode ini.
  3. Pergilah ke Tools > Macro > Visual Basic Editor. Langkah ini dapat pula Anda tempuh dengan menekan Alt + F11. Langkah ini akan membuka satu jendela khusus untuk Visual Basic Editor.
  4. Di bagian VBAProject di panel sebelah kiri, klik-kanan ThisWorkbook > Insert > Module.
  5. Di bagian kosong yang terbuka di bagian kanan, tuliskan kode macro yang tadi dibuka di WordPad. Silakan salin-dan-tempel.
  6. Kembalilah ke jendela Excel Anda, dan cobalah tuliskan formula terbilang di salah satu sel. Misalnya, tulislah =terbilang(123) maka hasilnya akan berupa tulisan seratus dua puluh tiga rupiah. Anda juga dapat menulis formula dengan =terbilang(B3), misalnya, dan sel B3 berisi angka yang ingin dibuat teks.

Perhatian. Bila macro di aplikasi Excel Anda tidak dapat dijalankan, periksalah bagian Macro security. Pergilah ke Tools > Options…, klik tab Security lalu klik tombol Macro Security di bagian bawah. Ubah pilihan Security level ke Medium (disarankan) atau Low.

Pembaruan. Pengecekan bilangan negatif ditambahkan. Bilangan negatif akan dibaca minus sekian sekian.

19-12-2007. Berkas add-ins untuk fungsi terbilang tersedia untuk diunduh. Terima kasih agus untuk sarannya.

Add-Ins untuk Fungsi Terbilang

Untuk mengaktifkan add-ins ini, simpan berkas .xla yang sudah Anda unduh di komputer Anda. Di Excel, pergilah ke menu Tools > Add-Ins…. Di kotak Add-Ins yang terbuka, klik tombol Browse… dan arahkan ke berkas .xla yang Anda miliki. Add-ins untuk fungsi terbilang kini tampak dalam daftar. Centang kotaknya lalu klik tombol OK. Anda sekarang dapat menggunakan fungsi ini di semua dokumen Excel yang Anda buka.

  1. Sepertinya sih dari Microsoft KB []

Tags: , , ,

Entri yang Mungkin Terkait

Komentar. Silakan berikan komentar Anda. Beberapa tag HTML diperbolehkan. Anda juga dapat mendaftar di Gravatar untuk menampilkan foto Anda.

  1. doni’s avatar

    Saya dah nyoba, kalo ada referensi ato tutorial tolong dikasi tau informasinya

  2. nurul’s avatar

    saya sangat pemula sekali mo belajar macro excel, so kalo da apapun ynag berkaiatan dengan tutorial macro tolong saya dikasih tahu. makasih

  3. monzret’s avatar

    hi! ada yang bisa sharing gak? aq mau bikin grafik tapi maunya otomatis tinggal pilih data mana yang mo dimasukin udah gitu jadi deh. Ato gak pake pengenalan header nya aja.. bisa kan yaaa. Tpi brubung aw blom sempat ngoprak-aprik macro excel jadinya nge-blank. Mohon bantuan nya bagi yang sudah expert. Thx berats

  4. Fadli Idris’s avatar

    Terima Kasih Banyak, sudah sangat membantu saya ini dalam menjalankan tugas.

  5. Julia’s avatar

    Saya mau melakukan rekon data menggunakan excel macro. Tapi aku belum pernah menggunakan macro. Tolaong beri tau saya bagaimana cara untuk bisa belajar macro cepat. Refrensi yang dapat saya pelaji?

  6. samid’s avatar

    menurut saya penjelasan di atas masih kurang bisa di pahami.maka dari itu tollong lebih diperinci lagi penjelasannya!

  7. eka’s avatar

    Halo samid, bagian mana dari penjelasan di atas yang belum Anda pahami?

  8. aNYiS’s avatar

    saya siswa kelas 10 sma negeri 1 malang. pelajaran komputer di sekolah sedang membahas tentang macro excel. Saya ingin bertanya,selain mengubah angka, macro dapat dipakai apalagi……

    Terima Kasih

  9. eka’s avatar

    aNYiS, kegunaan macro di Excel (ataupun di aplikasi lain) bermacam-macam. Ia adalah kumpulan baris program yang disisipkan ke dalam sebuah file untuk melakukan satu atau lebih tindakan. Biasanya tujuannya adalah untuk membuat otomasi atas tindakan rutin yang dilakukan berulang-ulang.

    Sebagai contoh, kita punya berkas Excel yang berisi ratusan angka di setiap sel. Kita, misalnya, ingin memberi warna merah untuk angka yang nilainya negatif dan warna biru untuk angka yang bernilai lebih dari 100.

    Kita bisa lakukan pekerjaan ini dengan memilih satu per satu sel yang berisi angka negatif, kemudian memberinya warna merah. Lalu memilih sel yang berisi angka dengan nilai lebih dari 100 dan memberinya warna biru.

    Dengan macro, pekerjaan “melelahkan” itu akan dilakukan dengan sangat cepat dan mudah. Juga cermat, tanpa ada angka yang terlewat seperti yang mungkin akan terjadi bila kita lakukan dengan cara manual.

    Mudah-mudahan bisa dimengerti.

  10. IGUN’s avatar

    Saya pingin mencobanya tuch……………
    Saya mau bikin ID Card Bagaimana caranya agar hanya dengan menampilkan NIP Foto orang tersebut Bisa tampil

  11. firmansyah’s avatar

    makasih ya atas informasinya bagus banget tuh. tapi aq ada kendala neh, gmn caranya bila kita ingin menampilkan dalam huruf besar. fungsi apa kita pakai untuk mengubah ke huruf besar? makasih

  12. eka’s avatar

    Halo, firmasnyah. Fungsi di Excel untuk mengubah teks menjadi huruf besar adalah UPPER(). Jadi, untuk menampilkan teks dengan huruf besar, Anda bisa menulis =UPPER(terbilang(x)).

  13. ika’s avatar

    wah temen temen saya masih ga ngerti nih, saya udah coba tapi ga bisa juga mohon bantuannya, saa tunggu ya, trims.
    saya coba masukkan code trus copy code tsbt tp hasilnya masih erorrr, mohon agar penjelasannya bisa lebih dipermudah, thanks. salam

  14. eka’s avatar

    Halo ika, Anda buka berkasnya pakai apa? WordPad tak bermasalah, tetapi sepertinya kode tersebut jadi berantakan bila dibuka dengan Notepad. Maaf.

    Sekarang sudah diperbaiki.

  15. osma’s avatar

    kalo makro yang digunakan untuk menjelaskan adik anyis gimana ya…buatnya….syukur bisa di e-mail ke dhe.osma@gmail.com

  16. agus’s avatar

    Terima kasih atas codenya.
    saya sudah mencobanya kemudian membuatnya menjadi addins.sehingga jadi mudah digunakan.
    bila ada yang membutuhkannya tinggal di copykan aja file addinsnya

    klu boleh di lampirkan juga file addinsnya. biar yang lain juga bisa lebih mudah untuk membuatnya. karena tinggal di copy ke folder addins kemudian di aktifkan.
    terima kasih.

  17. agus’s avatar

    Saya mencoba mengganti kata “dan” pemisah koma dengan kata “koma” berhasil. tapi bagaimana jika kata rupiah dimasukkan sesuai keinginan kita

    contoh :
    =terbilang(angka;kode)

    kode :
    1. pakai rupiah dan sen
    2. tidak pakai rupiah dan sen

    terima kasih.

  18. agus’s avatar

    jadi hasil dari :
    =terbilang(1200,5;1)
    seribu dua ratus rupiah koma lima sen

    =terbilang(1200,5;2)
    seribu dua ratus koma lima

    terima kasih

  19. eka’s avatar

    Terima kasih agus, berkas add-ins untuk fungsi ini sudah saya sediakan.

    Tentang penambahan kode untuk menghilangkan satuan mata uang, Anda dapat menambahkan satu argumen di fungsi ini, misalnya:

    Function Terbilang(ByVal MyNumber, MyCode)

    Lalu membuat dua variabel untuk satuan “rupiah” dan “sen”, kemudian mengondisikannya dengan kode yang diberikan oleh pengguna. Anda dapat menambahkan baris kode berikut ini di bagian atas fungsi utama.

    Satuan1 = ""
    Satuan2 = ""
    Separator = "koma"
    If MyCode = 1 Then
        Satuan1 = "rupiah "
        Satuan2 = "sen"
        Separator = "dan"
    End If

    Setelah itu gantilah baris Rupiah = "nol rupiah" menjadi Rupiah = "nol " & Satuan1. Ganti juga baris Rupiah = Rupiah & "rupiah" menjadi Rupiah = Rupiah & Satuan1, juga baris Sen = "dan " & Sen & "sen" menjadi Sen = Separator & " " & Sen & Satuan2.

    Dengan begini, Anda dapat memilih apakah teks yang ditampilkan memuat satuan mata uang atau tidak.

    Tetapi ada sedikit yang kurang: dengan perubahan ini, angka 12,13 akan dibaca dua belas koma tiga belas. Padahal saya berpendapat, pelafalan bilangan desimal tidak boleh seperti itu. Seharusnya dibaca dua belas koma satu tiga (ref).

    Karena itu, saya ganti baris Sen = Puluhan(Tmp) menjadi:

    If MyCode = 1 Then
        Sen = Puluhan(Tmp)
    Else
        Sen = Satuan(Mid(Tmp, 1, 1))
        Sen = Sen & Satuan(Mid(Tmp, 2, 1))
    End If

    Selesai.

    Whew! Panjang juga. :)

  20. dewi’s avatar

    Saya tertarik untuk mempelajari macro excel.
    Dapatkah anda membantu saya untuk memahami macro excel tersebut?
    Bagaimana cara membuat macro excel?
    Buku apa yang harus saya baca (macro excel untuk pemula)?
    Untuk perhatian dan tanggapannya, saya ucapkan terima kasih.

  21. eka’s avatar

    Halo, dewi. Sebagai bahan awal mempelajari makro Excel, Anda dapat mengunjungi situs You Learn Excel.

    Mengenai buku, maaf, saya tak punya referensi.

  22. dewi’s avatar

    Makasih infonya

  23. heya’s avatar

    aduhh kok rumusnya panjang banget seeapa gak ada rumus yang lebih instan kan lebih praktis but thanks ya infonya

  24. agus’s avatar

    trims atas infonya.

  25. agus’s avatar

    trims atas infonya. aku lagi buru-buru nih.

  26. agus’s avatar

    tanya lagi nihh.
    gimana klu huruf awal dari kata dijadikn huruf besar
    contoh : 1234
    hasil 1 : Seribu dua ratus tiga puluh empat
    hanya huruf “s” dari seribu yang huruf besar
    karena klu menggunakan rumus lower, upper atau lainnya maka setiap awal kata akan jadi huruf besar atau semuanya jadi huruf besar

    trim lagi yaa
    banyak betanyaaa
    hehehehe

  27. agus’s avatar

    sehingga bisa dibuat menjadi :
    =terbilang(angka;kode_hrf_besar;kode_rupiah)
    kode huruf besar
    1. semuanya huruf kecil
    2. Hanya awal yang huruf besar
    3. Setiap Awal Kata Huruf Besar
    4. SEMUANYA HURUF BESAR

    kode rupiah
    1. pakai rupiah dan sen
    2. tidak pakai rupiah dan sen

    thanks skali lagi

  28. eka’s avatar

    Untuk kasus yang ditanyakan agus, tambahkan lagi satu argumen, misalnya:

    Function Terbilang(ByVal MyNumber, MyCode, MyStyle)

    Kemudian kondisikan argumen MyStyle sesuai dengan keinginan.

    1. huruf kecil semua: tidak perlu dimodifikasi lagi

    2. kapital hanya di huruf pertama:

    Terbilang = UCase(Mid(Terbilang, 1, 1)) & Mid(Terbilang, 2, Len(Terbilang) - 1)

    3. kapital di huruf pertama setiap kata

    i = 1
    j = 1
    Terbilang = UCase(Mid(Terbilang, 1, 1)) & Mid(Terbilang, 2, Len(Terbilang) - 1)
    While j > 0
        j = InStr(Mid(Terbilang, i, Len(Terbilang)), " ")
        Terbilang = Mid(Terbilang, 1, j + i - 1) & UCase(Mid(Terbilang, j + i, 1)) & Mid(Terbilang, j + i + 1, Len(Terbilang))
        i = i + j
    Wend

    4. kapital semua huruf

    Terbilang = UCase(Terbilang)

    Implementasinya di kode macro, silakan Anda buat sendiri. :)

  29. Wuryantadi’s avatar

    Apa yang salah ya sudah saya coba angka 3,01 kok dibaca “tiga rupiah puluh satu sen”?

  30. eka’s avatar

    Apa yang salah? Saya yang salah. :) Kasus tersebut terlewatkan, maaf. Sekarang sudah diperbaiki.

    Terima kasih, Wuryantadi.

  31. Aris’s avatar

    Untuk mempermudah Saya menggunakan =today() untuk menuliskan tanggal transaksi hari ini, bagaimana caranya supaya tanggal tsb tidak berubah/tetap menjadi tanggal transaksi hari itu jika dibuka diawktu mendatang.

    Terima kasih.

  32. Wuryantadi’s avatar

    Terima Kasih, Boleh minta sekali lagi untuk menambah 4 digit dibelakang koma apa yang perlu dirubah. Thanks b 4.

  33. Wuryantadi’s avatar

    Waduh maaf satu lagi sudah saya unduh angka 3,09 dan angka 3,9 dibaca sama “tiga koma sembilan”

  34. eka’s avatar

    Aris: Copy selnya, terus Edit – Paste Special. Pilih Value.

    Wuryantadi: Saya sudah cek, 3.9 terbaca “tiga rupiah dan sembilan puluh sen” dan 3.09 terbaca “tiga rupiah dan sembilan sen”.

    Anda mungkin menambahkan modifikasi untuk menghilangkan mata uang seperti pada komentar di atas? Kode macro-nya sedikit berubah, silakan unduh: Terbilang Modifikasi

  35. raynold’s avatar

    terimakasih sudah mampir ke MP saya…

    saya mohon bantuan,..
    saya salalu menggunakan formula =index(‘d:\[datapegawai.xls]data’!tabelpegawai;match(A1;’d:\[datapegawai.xls]data’!nip);2)
    untuk mendapatkan nama pegawai berdasarkan nomor NIP (misal. di cell A1)

    bisakah formula tersebut dijadikan sebuah macro fungsi?
    misalnya menjadi =pegawai(a1;2)

    sekali lagi saya mohon dengan sangat bantuannya…

    terima kasih…

  36. eka’s avatar

    raynold: Bukannya menggunakan fungsi VLOOKUP() sudah cukup?

    =VLOOKUP(A1;'d:\[datapegawai.xls]data'!tabelpegawai;2)

  37. raynold’s avatar

    saya sudah mencoba menggunakan vlookup(), tapi fungsi ini hanya berlaku untuk data yang tersortir… makanya saya menggunakan index match.

    tapi mungkin lebih baik datanya disortir aja, ya…

    o iya, kembali ke pertanyaan awal, bisakah fungsi =VLOOKUP(A1;’d:\[datapegawai.xls]data’!tabelpegawai;2) atau
    =index(’d:\[datapegawai.xls]data’!tabelpegawai;match(A1;’d:\[datapegawai.xls]data’!nip);2)
    dijadikan fungsi macro, seperti =pegawai(a1,2)?
    saya sudah mencoba tapi hasilnya adalah string formulanya… bingung..

    terima kasih…

  38. eka’s avatar

    raynold: Kalau begitu, Anda bisa coba =VLOOKUP(A1;'d:\[datapegawai.xls]data'!tabelpegawai;2;FALSE).

    Tentang fungsi =Pegawai(A1;2), saya belum mencoba. Tapi sepertinya sih … bikin pusing. :)

  39. raynold’s avatar

    hahahaha..
    bener, bikin pusing…

    Terima kasih banyak ya..

  40. eka’s avatar

    Fungsi =Pegawai() sudah bisa saya buat asal tabelpegawai ada di workbook yang sama dengan workbook tempat kita akan menuliskan fungsi tersebut.

    Tapi sepertinya tabelpegawai ada di file lain, ya? Saya masih belum menemukan caranya. Ilmunya belum nyampe, hehe.

    Ada yang bisa menolong?

  41. alfa’s avatar

    salut sekali dengan pelajaran anda ini, terimakasih

    btw, punya makro tuk openoffice.org tidak ?

    saya tidak kuat beli MSOffice, muahal banget

    salam

  42. eka’s avatar

    Wah, maaf alfa, saya gak punya makro untuk OpenOffice.

  43. raynold’s avatar

    Benarkah?.. kereeennn…
    boleh kah saya meminta listing code nya? agar saya bisa mempelajari logika penulisannya…

  44. arie’s avatar

    sy kesulitan untuk dibelakang koma dgn sebutan sen misal
    satu juta rupiah lima puluh sen malah tertulis satu milyar lima

  45. Aris’s avatar

    =IF(E5=”",”",IF(E5=”SK”,now(),now()))

    Bagaimanakah formula diatas supaya menghasilkan tanggal skrg dalam bentuk label/teks.

  46. eka’s avatar

    raynold: Tentu boleh. Nanti saya siapin dulu.

    arie: Makro ini bisa menangani angka sampai bilangan trilyun. Mungkin ada bagian dari kode Anda yang salah. Coba diteliti lagi.

    Aris: Maaf, saya belum mengerti maksud Anda. Apa ada hubungannya dengan Format > Cell > Number > Date?

  47. Aris’s avatar

    Jika saya ketik “SK” maka pada sel A5 akan muncul 30-Jan-08, nah tanggal ini akan berubah menjadi tanggal 31-Jan-08 kalau saya buka esok hari.
    Cara merubah spy tgl tsb tetap tanggal 30-Jan-08 saja ??
    Column sudah saya Format > Cell > Number > Date

    thanks

  48. eka’s avatar

    Mungkin ini?

    Edit > Copy
    Edit > Paste Special > Values

    Tapi ini membuat formula tadi jadi hilang.

1 · 2 · 3 · 4 ·


Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in /home/priarid1/public_html/wp-content/plugins/SK2/sk2_plugins/sk2_rbl_plugin.php on line 327