ANGKA MENJADI BILANGAN

Sekarang aku coba bikin tulisan lagi... mengenai makro excel... buat yang master punten nyak... bukan maksud hati bersombong ria... cuman catetan aja... daripada harus mikir lagi, bila ada case yang sama.


Makro ini merupakan pembuatan rumus yang berfungsi untuk mengubah angka menjadi bilangan, contohnya di cel A1 ada angka 1.000 dan akan berubah menjadi "seribu" dengan mengetikkan rumus =ambil(A1)di cell yang lain... begicuuu....ocreh deh langsung tancap kodenya...


Function ambil(ByVal nilai As Currency) As String
Dim satuan As Variant

satuan = Array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas")
Select Case nilai
        Case 0 To 11
            ambil = " " + satuan(Fix(nilai))
        Case 12 To 19
            ambil = ambil(nilai Mod 10) + " Belas"
        Case 20 To 99
            ambil = ambil(nilai / 10) + " Puluh" + ambil(nilai Mod 10)
        Case 100 To 199
            ambil = " Seratus" + ambil(nilai - 100)
        Case 200 To 999
            ambil = ambil(Fix(nilai / 100)) + " Ratus" + ambil(nilai Mod 100)
        Case 1000 To 1999
            ambil = " Seribu" + ambil(nilai - 1000)
        Case 2000 To 999999
            ambil = ambil(Fix(nilai / 1000)) + " Ribu" + ambil(nilai Mod 1000)
        Case 1000000 To 999999999
            ambil = ambil(Fix(nilai / 1000000)) + " Juta" + ambil(nilai Mod 1000000)
        Case Else
            ambil = ambil(Fix(nilai / 1000000000)) + " Milyar" + ambil(nilai Mod 1000000000)
    End Select
End Function


beres... caranya tinggal ketik aja rumusnya... yaitu =ambil(A1)... selesai

11 komentar:

  1. naro rumus ini dimana yah,,, saya bingung...

    BalasHapus
  2. utk excel 2003... tools - macro - visual basic editor - tambahkan modul - copy kode diatas kedalamnya...

    BalasHapus
  3. Salam Pak Karsono,
    Saya dari dulu salut dengan artikel-artikel anda, inovasi dan kreatif.
    Sebelumnya mohon maaf, maksud saya hanya ingin sharing masukan. VBA diatas setelah saya coba ternyata angka maximum nya di angka 2.147.483.647, ketika ditambahkan +1 saja.. macro sudah #Value.
    Saya dapat masukan dari XL-mania ada macro sejenis yang bisa baca hingga 999 triliun, kemudian saya utak-utik.. edit sini edit sana (tentunya dengan seijin yang punya) akhrinya jadilah macro Terbilang dengan "rupiah" di belakangnya.
    Mohon maaf jika ada kata-kata yang kurang berkenan.

    Salam.

    BalasHapus
  4. Anda Benar, dikarenakan macro diatas hanya sampai pada angka maximum milyar, untuk triliun kalau berdasarkan kode diatas, berarti harus ditambahkan lagi, kode case-nya, mungkin bisa berbagi kode atau ilmunya, atau mau bikin postingan di blog ini, juga dipersilahkan, dan sekali lagi terima kasih atas informasinya.

    BalasHapus
  5. mas, bagaimana kalau mau buat puluhan dibaca satuan misalnya 71 dibaca tujuh satu, 72 tujuh dua dsb,

    BalasHapus
  6. Caranya sederhana... coba perhatikan kode diatas pada case 20 to 99 :
    Case 20 To 99
    ambil = ambil(nilai / 10) + " Puluh" + ambil(nilai Mod 10)


    Nach kode itulah yang membuat angka 71 menjadi huruf Tujuh puluh satu....

    kalau tampilannya mau dibuat muncul hanya Tujuh satu... berarti kata " Puluh" pada kode diatas harus dihapus, hasil kodenya...

    Case 20 To 99
    ambil = ambil(nilai / 10) + ambil(nilai Mod 10)

    BalasHapus
  7. mas klo utk excel 2010 naruh rumus ini dimana ya....

    BalasHapus
  8. kl buat grafik 3D (yang ada sumbu ZYX)gmn y...

    BalasHapus
  9. Mas gimana kalau konversi interval angka desimal menjadi angka?
    Contoh: 1 s.d. 1,32 -------------> 1
    1,33 s.d. 1,65 --------> 1,33
    1,66 s.d. 1,99 --------> 1,66
    dst
    Terima kasih atas bantuannya.

    BalasHapus
  10. gimana cara imput rumusnya pakai excel 2010

    BalasHapus