Membuat Fungsi "Terbilang" Pada MS.Excel (Referensi)

http://ricktavy.blogdetik.com/files/2010/09/excel31.png

Menjawab pertanyaan di artikel saya yang ini, saya langsung mencari arsip programming saya, karena dulu seingat saya pernah membuat fungsi tersebut untuk penulisan kuitansi. Setelah 2 jam cari-cari saya tidak juga menemukan fungsi yang telah saya tulis 5 tahun yang lalu, akhirnya saya mengambil jalan pintas saja, yaitu googling…
terbilang
Sebetulnya pembuatan fungsi terbilang ini tidaklah susah jika kita mau menggunakan logika kita sedikit. Tapi sayang malam ini, logika saya juga baru ngga mau di ajak kompromi jadi saya akan membuat tutorial-nya saja step-by-step dan scriptnya saya mengambilnya di-sini lalu saya hanya merapikannya sedikit saja. Berikut langkah yang harus anda ambil:
  1. Buka Microsoft Excel.
  2. Tekan Alt + F11 untuk membuka VBA Editor, atau klik menu Tools -> Macro -> Visual Basic Editor.
    menu Visual Basic Editor
  3. Di Visual Basic Editor, klik menu Insert -> Module.
    Insert module menu
  4. Lalu copy-paste script ini ke bidang kerjanya:
    Public Function TERBILANG(x As Double) As String
    Dim tampung As Double
    Dim teks As String
    Dim bagian As String
    Dim i As Integer
    Dim tanda As Boolean
     
    Dim letak(5)
    letak(1) = "RIBU "
    letak(2) = "JUTA "
    letak(3) = "MILYAR "
    letak(4) = "TRILYUN "
     
    If (x < 0) Then
        TERBILANG = ""
    Exit Function
    End If
     
    If (x = 0) Then
        TERBILANG = "NOL"
    Exit Function
    End If
     
    If (x < 2000) Then
        tanda = True
    End If
    teks = ""
     
    If (x >= 1E+15) Then
        TERBILANG = "NILAI TERLALU BESAR"
    Exit Function
    End If
     
    For i = 4 To 1 Step -1
        tampung = Int(x / (10 ^ (3 * i)))
        If (tampung > 0) Then
            bagian = ratusan(tampung, tanda)
            teks = teks & bagian & letak(i)
        End If
        x = x - tampung * (10 ^ (3 * i))
    Next
     
    teks = teks & ratusan(x, False)
    TERBILANG = teks & " Rupiah"
    End Function
     
    Function ratusan(ByVal y As Double, ByVal flag As Boolean) As String
    Dim tmp As Double
    Dim bilang As String
    Dim bag As String
    Dim j As Integer
     
    Dim angka(9)
    angka(1) = "SE"
    angka(2) = "DUA "
    angka(3) = "TIGA "
    angka(4) = "EMPAT "
    angka(5) = "LIMA "
    angka(6) = "ENAM "
    angka(7) = "TUJUH "
    angka(8) = "DELAPAN "
    angka(9) = "SEMBILAN "
     
    Dim posisi(2)
    posisi(1) = "PULUH "
    posisi(2) = "RATUS "
     
    bilang = ""
    For j = 2 To 1 Step -1
        tmp = Int(y / (10 ^ j))
        If (tmp > 0) Then
            bag = angka(tmp)
            If (j = 1 And tmp = 1) Then
                y = y - tmp * 10 ^ j
                If (y >= 1) Then
                    posisi(j) = "BELAS "
                Else
                    angka(y) = "SE"
                End If
                bilang = bilang & angka(y) & posisi(j)
                ratusan = bilang
                Exit Function
            Else
                bilang = bilang & bag & posisi(j)
        End If
    End If
    y = y - tmp * 10 ^ j
    Next
     
    If (flag = False) Then
        angka(1) = "SATU "
    End If
    bilang = bilang & angka(y)
    ratusan = bilang
    End Function
    shot vbe
  5. Setelah di paste, coba cek script ini dengan klik menu Debug -> Compile VBA Project, jika tidak keluar kotak peringatan apapun biasanya script anda sudah beres.
  6. Tutup jendela Visual Basic Editor anda.
Nah sekarang tinggal coba aja:
  1. Ketik di cell sembarang sederet angka (misal di cell A1), lalu untuk memanggil fungsi terbilang ini (misal di cell A2), tinggal ketik =TERBILANG(A1).
    contoh
Cukup mudah bukan? Anda dapat mengunduh contoh artikel ini di sini.
Just in case, jika macro ini tidak bisa di jalankan di Excel anda (karena secara default Excel menset keamanan terhadap macro ke level tinggi), cek Security macro setting di Excel anda. Untuk melihat konfigurasi Security macro, klik Tools -> Macro -> Security dan pilih opsi Low lalu klik tombol OK. Saran saya pastikan anda sudah mempunya anti virus terinstal di komputer anda untuk menjaga agar virus macro tidak dapat menyerang komputer anda.

set macro security level
Source : http://www.edisusanto.com/
-------------------------------------------------------------------------------------------------------

Membuat Fungsi Terbilang Pada MS.Excel 2000

Fungsi terbilang disini adalah fungsi untuk mengkonversi angka menjadi terbilang. Contoh angka 2500 akan dikonversi menjadi dua ribu lima ratus, fungsi ini banyak digunakan untuk membuat faktur, nota atau kwitansi. Untuk membuat fungsi ini di Microsoft Excel caranya sebagai berikut:
  • Buat document baru, atau buka document yang sudah ada dan ingin diberi fungsi terbilang ini. Kemudian buka Microsoft Visual Basic Editor dari menu Tools > Macro > Visual Basic Editor atau langsung tekan tombol Alt + F11.
Visual Basic Editor
  • Buat sebuah module baru dengan cara klik menu Insert > Module kemudian tambahkan script berikut. :
    ————————————————————————-
    Function Terbilang(n As Long) As String 'max 2.147.483.647
    Dim satuan As Variant, Minus As Boolean
    On Error GoTo terbilang_error
    satuan = Array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas")
    If n < 0 Then
    Minus = True
    n = n * -1
    End If
    Select Case n
    Case 0 To 11
    Terbilang = " " + satuan(Fix(n))
    Case 12 To 19
    Terbilang = Terbilang(n Mod 10) + " Belas"
    Case 20 To 99
    Terbilang = Terbilang(Fix(n / 10)) + " Puluh" + Terbilang(n Mod 10)
    Case 100 To 199
    Terbilang = " Seratus" + Terbilang(n - 100)
    Case 200 To 999
    Terbilang = Terbilang(Fix(n / 100)) + " Ratus" + Terbilang(n Mod 100)
    Case 1000 To 1999
    Terbilang = " Seribu" + Terbilang(n - 1000)
    Case 2000 To 999999
    Terbilang = Terbilang(Fix(n / 1000)) + " Ribu" + Terbilang(n Mod 1000)
    Case 1000000 To 999999999
    Terbilang = Terbilang(Fix(n / 1000000)) + " Juta" + Terbilang(n Mod 1000000)
    Case Else
    Terbilang = Terbilang(Fix(n / 1000000000)) + " Milyar" + Terbilang(n Mod 1000000000)
    End Select
    If Minus = True Then
    Terbilang = "Minus" + Terbilang
    End If
    Exit Function
    terbilang_error:
    MsgBox Err.Description, vbCritical, "^_^Terbilang Error"
    End Function
    ————————————————————————–
  • Tutup kembali Visual Basis Editor dan kembali ke lembar kerja excel, coba ketikkan angka sembarang di sembarang tempat. Misal di cell C5 ketikkan 1250200 (nb: Maksimal 2147483647)
  • Atau jika anda bingung cara memasukkan Function diatas download MS Excel add-ins di sini dan tambahkan lewat menu tools > Add-Ins
add-in
  • Browse hasil extract file yang barusan di download, sampai Add-Ins terbilang masuk dalam daftar Add-Ins
add-in2
  • Kemudia di cell yang yang lain / tempat menaruh hasil terbilang ketikkan formula =terbilang(C5)
  • Kemudian di cell tersebut akan muncul hasil terbilang yaitu satu juta dua ratus lima puluh ribu dua ratus
Terbilang
  • Jika ingin di belakang hasil terbilang ada kata Rupiah tambahkan di dalam formula =terbilang(C5) & “Rupiah”
---
Bila ingin menambah kata “Minus” sebelum angka ketika menemukan angka minus berarti tambahkan codingnya menjadi berikut
---
Function Terbilang(n As Long) As String ‘max 2.147.483.647
Dim satuan As Variant, Minus As Boolean
On Error GoTo terbilang_error
satuan = Array(“”, “Satu”, “Dua”, “Tiga”, “Empat”, “Lima”, “Enam”, “Tujuh”, “Delapan”, “Sembilan”, “Sepuluh”, “Sebelas”)
If n < 0 Then
Minus = True
n = n * -1
End If
Select Case n
Case 0 To 11
Terbilang = ” ” + satuan(Fix(n))
Case 12 To 19
Terbilang = Terbilang(n Mod 10) + ” Belas”
Case 20 To 99
Terbilang = Terbilang(Fix(n / 10)) + ” Puluh” + Terbilang(n Mod 10)
Case 100 To 199
Terbilang = ” Seratus” + Terbilang(n – 100)
Case 200 To 999
Terbilang = Terbilang(Fix(n / 100)) + ” Ratus” + Terbilang(n Mod 100)
Case 1000 To 1999
Terbilang = ” Seribu” + Terbilang(n – 1000)
Case 2000 To 999999
Terbilang = Terbilang(Fix(n / 1000)) + ” Ribu” + Terbilang(n Mod 1000)
Case 1000000 To 999999999
Terbilang = Terbilang(Fix(n / 1000000)) + ” Juta” + Terbilang(n Mod 1000000)
Case Else
Terbilang = Terbilang(Fix(n / 1000000000)) + ” Milyar” + Terbilang(n Mod 1000000000)
End Select
If Minus = True Then
Terbilang = “Minus” + Terbilang
End If
Exit Function
terbilang_error:
MsgBox Err.Description, vbCritical, “^_^Terbilang Error”
End Function
---
atau file nya bisa di download di sini
file add-in : Terbilang.xla
file txt : terbilang.txt
---

Semoga bermanfaat
Source : http://davidnakoko.wordpress.com/
-------------------------------------------------------------------------------------------------------

Membuat Fungsi "Terbilang" Pada MS.Excel 2003

CARA MEMBUAT FUNGSI "TERBILANG" : A. Membuat Module
1. Buka microsoft Excel
2. Buka Menu Tools - Macro - Visual Basic Editor
3. Buat module baru dengan cara : Klik menu Insert - Module
4. Masukkan (Copy-Paste) fungsi terbilang berikut ini :
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
'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 satuan
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, 2) + "ratus "
End If
End If
'Baca Bagian Puluh dan Satuan
If a10 = 1 Then
baca = baca + angka(a10 * 10 + a1, 2)
Else
If a10 > 0 Then
baca = baca + angka(a10, 2) + "puluh "
End If
If a1 > 0 Then
If posisi = 2 And a100 = 0 And a10 = 0 Then
baca = baca + angka(a1, 1)
Else
baca = baca + angka(a1, 2)
End If
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 = "Dua belas "
Case 13: angka = "Tiga belas "
Case 14: angka = "Empat belas "
Case 15: angka = "Lima belas "
Case 16: angka = "Enam belas "
Case 17: angka = "Tujuh belas "
Case 18: angka = "Delapan belas "
Case 19: angka = "Sembilan belas "
End Select
End Function
5. Lakukan proses pengecekan pada lembar sheet Excel.
Contoh : - Ketik angka 1000 pada sel B2.
- Pada sel B3, ketik fungsi =terbilang(B2)
- Jika pada sel B3 berubah menjadi "seribu rupiah" , maka fungsi diatas telah benar
B. Membuat Deskripsi Fungsi
1. Pada lembar kerja Excel, klik menu Tools - Macros
2. Ketikkan nama fungsi terbilang dan pastikan tombol Option menyala
3. Klik Option, dan ketik Deskripsi fungsi terbilang anda pada kotak Descripsion
4. Klik OK
C. Membuat Add Ins
1. Tutup Visual Basic Editor
2. Simpan Dokumen Excel dengan klik menu File - Save As
3. Ubah Save As Type menjadi Microsoft Excel Add In (*.xla)
4. Beri nama bebas, misal : terbilang.xla
5. Klik OK
D. Menginstall Add-In
1. Buka Menu Tools - Add Ins
2. Pilih dan centang pilihan "terbilang" pada list Add Ins
3. Klik OK
Proses selesai...Fungsi dapat digunakan !!!
Selamat Mencoba !!!

Source : http://fierarahim.blogspot.com/
-------------------------------------------------------------------------------------------------------

Membuat Fungsi Terbilang Pada MS.Excel Dengan Macro Visual Basic

Artikel dari Mas Eko

Bagi anda yang sering membuat penawaran harga dengan format Microsoft Excel, mungkin program kecil tambahan ini bisa membantu. Program ini akan menambah Tools pada fungsi rumus di Excel sehingga kita bisa mengkonversi angka kedalam bentuk kata-kata (terbilang). Instalasinya melalui tahapan berikut :

1. Download program "fungsi terbilang"
2. Anda masuk ke Microsoft Excel - Tools- Add Ins, kemudian browse ke lokasi program "fungsi terbilang"
3. Jika sudah, anda kembali masuk ke dalam Tools- Add Ins kemudian klik pada kolom terbilang. Nah sekarang fungsi terbilang sudah bisa anda gunakan.
4. Caranya anda masuk ke insert-function-select category-user defined. Kemudian pada box menu "Function Argument" anda pilih angka yang akan dikonversi (Nilai Angka) kemudian tentukan satuan mata uang yang anda inginkan dengan diapi tanda " " (Satuan)

Selamat Mencoba dan semoga berguna !

Related Article : Panduan instalasi "fungsi terbilang" (pdf)

Thanks to : Mas Eko for this program and Argha untuk panduan instalasinya.

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 – langkahnya adalah sebagai berikut :
  • Buka aplikasi MS Excel, apabila secara otomatis tidak muncul workbook baru (atau Book 1) maka bukalah Workbook baru dari File > New… (Ctrl+N);
  • Pada workbook baru pada sheet mana saja pilihlah Tools > Macro > Visual Basic Editor atau dengan shortcut Alt+F11.
  • 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).
  • Pada lembar kosong tersebut copy paste-kan list program dibawah ini
'Fungsi Terbilang dengan VBA untuk MS Office
'Ditulis oleh maseko

'Fungsi penterjemahan masing-masing angka
Private Function KeKata(Nomor)
TrjKata = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan")
KeKata = TrjKata(Nomor)
End Function

'Mulai penulisan Fungsi Terbilang
Public Function terbilang(Nilai_Angka, Optional Style = 4, Optional Satuan = "")
Angka = Fix(Abs(Nilai_Angka))
'Desimal dibelakang koma
des1 = Mid(Abs(Nilai_Angka), Len(Angka) + 2, 1)
des2 = Mid(Abs(Nilai_Angka), Len(Angka) + 3, 1)

If des2 = "" Then
    If des1 = "" Or des1 = "0" Then
    Koma = ""
    Else
    Koma = " koma " & KeKata(des1)
    End If
ElseIf des2 = "0" Then
    If des1 = "0" Then
    Koma = ""
    ElseIf des1 = "1" Then
    Koma = " koma sepuluh"
    Else
    Koma = " koma " & KeKata(des1) & " puluh"
    End If
Else
    If des1 = "0" Then
    Koma = " koma nol " & KeKata(des2)
    ElseIf des1 = "1" Then
        If des2 = "1" Then
        Koma = " koma sebelas"
        Else
        Koma = " koma " & KeKata(des2) & " belas"
        End If
    Else
    Koma = " koma " & KeKata(des1) & " puluh " & KeKata(des2)
    End If
End If
'Misahin Angka
No1 = Left(Right(Angka, 1), 1)
No2 = Left(Right(Angka, 2), 1)
No3 = Left(Right(Angka, 3), 1)
No4 = Left(Right(Angka, 4), 1)
No5 = Left(Right(Angka, 5), 1)
No6 = Left(Right(Angka, 6), 1)
No7 = Left(Right(Angka, 7), 1)
No8 = Left(Right(Angka, 8), 1)
No9 = Left(Right(Angka, 9), 1)
No10 = Left(Right(Angka, 10), 1)
No11 = Left(Right(Angka, 11), 1)
No12 = Left(Right(Angka, 12), 1)
No13 = Left(Right(Angka, 13), 1)
No14 = Left(Right(Angka, 14), 1)
No15 = Left(Right(Angka, 15), 1)
'Satuan
If Len(Angka) >= 1 Then
    If Len(Angka) = 1 And No1 = 1 Then
    Nomor1 = "satu"
    ElseIf Len(Angka) = 1 And No1 = 0 Then
    Nomor1 = "Nol"
    ElseIf No2 = "1" Then
        If No1 = "1" Then
        Nomor1 = "sebelas"
        ElseIf No1 = "0" Then
        Nomor1 = "sepuluh"
        Else
        Nomor1 = KeKata(No1) & " belas"
        End If

    Else
    Nomor1 = KeKata(No1)
    End If
Else
Nomor1 = ""
End If

'Puluhan
If Len(Angka) >= 2 Then
    If No2 = 1 Or No2 = "0" Then
    Nomor2 = ""
    Else
    Nomor2 = KeKata(No2) & " puluh "
    End If
Else
Nomor2 = ""
End If
'Ratusan
If Len(Angka) >= 3 Then
    If No3 = "1" Then
    Nomor3 = "seratus "
    ElseIf No3 = "0" Then
    Nomor3 = ""
    Else
    Nomor3 = KeKata(No3) & " ratus "
    End If
Else
Nomor3 = ""
End If
'Ribuan
If Len(Angka) >= 4 Then
    If No6 = "0" And No5 = "0" And No4 = "0" Then
    Nomor4 = ""
    ElseIf (No4 = "1" And Len(Angka) = 4) Or (No6 = "0" And No5 = "0" And No4 = "1") Then
    Nomor4 = "seribu "
    ElseIf No5 = "1" Then
        If No4 = "1" Then
        Nomor4 = "sebelas ribu "
        ElseIf No4 = "0" Then
        Nomor4 = "sepuluh ribu "
        Else
        Nomor4 = KeKata(No4) & " belas ribu "
        End If

    Else
    Nomor4 = KeKata(No4) & " ribu "
    End If
Else
Nomor4 = ""
End If
'Puluhan ribu
If Len(Angka) >= 5 Then
    If No5 = "1" Or No5 = "0" Then
    Nomor5 = ""
    Else
    Nomor5 = KeKata(No5) & " puluh "
    End If
Else
Nomor5 = ""
End If
'Ratusan Ribu
If Len(Angka) >= 6 Then
    If No6 = "1" Then
    Nomor6 = "seratus "
    ElseIf No6 = "0" Then
    Nomor6 = ""
    Else
    Nomor6 = KeKata(No6) & " ratus "
    End If
Else
Nomor6 = ""
End If
'Jutaan
If Len(Angka) >= 7 Then
    If No9 = "0" And No8 = "0" And No7 = "0" Then
    Nomor7 = ""
    ElseIf No7 = "1" And Len(Angka) = 7 Then
    Nomor7 = "satu juta "
    ElseIf No8 = "1" Then
        If No7 = "1" Then
        Nomor7 = "sebelas juta "
        ElseIf No7 = "0" Then
        Nomor7 = "sepuluh juta "
        Else
        Nomor7 = KeKata(No7) & " belas juta "
        End If

    Else
    Nomor7 = KeKata(No7) & " juta "
    End If
Else
Nomor7 = ""
End If
'Puluhan juta
If Len(Angka) >= 8 Then
    If No8 = "1" Or No8 = "0" Then
    Nomor8 = ""
    Else
    Nomor8 = KeKata(No8) & " puluh "
    End If
Else
Nomor8 = ""
End If
'Ratusan juta
If Len(Angka) >= 9 Then
    If No9 = "1" Then
    Nomor9 = "seratus "
    ElseIf No9 = "0" Then
    Nomor9 = ""
    Else
    Nomor9 = KeKata(No9) & " ratus "
    End If
Else
Nomor9 = ""
End If
'Milyar
If Len(Angka) >= 10 Then
    If No12 = "0" And No11 = "0" And No10 = "0" Then
    Nomor10 = ""
    ElseIf No10 = "1" And Len(Angka) = 10 Then
    Nomor10 = "satu milyar "
    ElseIf No11 = "1" Then
        If No10 = "1" Then
        Nomor10 = "sebelas milyar "
        ElseIf No10 = "0" Then
        Nomor10 = "sepuluh milyar "
        Else
        Nomor10 = KeKata(No10) & " belas milyar "
        End If

    Else
    Nomor10 = KeKata(No10) & " milyar "
    End If
Else
Nomor10 = ""
End If
'Puluhan Milyar
If Len(Angka) >= 11 Then
    If No11 = "1" Or No11 = "0" Then
    Nomor11 = ""
    Else
    Nomor11 = KeKata(No11) & " puluh "
    End If
Else
Nomor11 = ""
End If
'Ratusan Milyar
If Len(Angka) >= 12 Then
    If No12 = "1" Then
    Nomor12 = "seratus "
    ElseIf No12 = "0" Then
    Nomor12 = ""
    Else
    Nomor12 = KeKata(No12) & " ratus "
    End If
Else
Nomor12 = ""
End If
'Triliun
If Len(Angka) >= 13 Then
    If No15 = "0" And No14 = "0" And No13 = "0" Then
    Nomor13 = ""
    ElseIf No13 = "1" And Len(Angka) = 13 Then
    Nomor13 = "satu triliun "
    ElseIf No14 = "1" Then
        If No13 = "1" Then
        Nomor13 = "sebelas triliun "
        ElseIf No13 = "0" Then
        Nomor13 = "sepuluh triliun "
        Else
        Nomor13 = KeKata(No13) & " belas triliun "
        End If

    Else
    Nomor13 = KeKata(No13) & " triliun "
    End If
Else
Nomor13 = ""
End If
'Puluhan triliun
If Len(Angka) >= 14 Then
    If No14 = "1" Or No14 = "0" Then
    Nomor14 = ""
    Else
    Nomor14 = KeKata(No14) & " puluh "
    End If
Else
Nomor14 = ""
End If
'Ratusan triliun
If Len(Angka) >= 15 Then
    If No15 = "1" Then
    Nomor15 = "seratus "
    ElseIf No15 = "0" Then
    Nomor15 = ""
    Else
    Nomor15 = KeKata(No15) & " ratus "
    End If
Else
Nomor15 = ""
End If

If Len(Angka) > 15 Then
bilang = "Digit Angka Terlalu Banyak"
Else
    If IsNull(Nilai_Angka) Then
    bilang = ""
    ElseIf Nilai_Angka < 0 Then
    bilang = "minus " & Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
    & Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & Satuan)
    Else
    bilang = Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
    & Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & Satuan)
    End If
End If
If Style = 4 Then
terbilang = StrConv(Left(bilang, 1), 1) & StrConv(Mid(bilang, 2, 1000), 2)
Else
terbilang = StrConv(bilang, Style)
End If
terbilang = Replace(terbilang, "  ", " ", 1, 1000, vbTextCompare)

End Function


  • Setelah Anda selesai mengcopy pilih File > Close and Return to Microsoft Excel untuk kembali ke workbook MS Excel.
  • Simpan workbook tersebut, namai misalnya terbilang.xls.
  • 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.
  • Pilih Insert > Function…, maka akan muncul dialog box daftar fungsi di MS Excel.
  • 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
  • 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.
  • 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(”).
  • Sekarang Anda tutup workbook tersebut. Coba buka kembali workbook tersebut, maka akan muncul peringatan seperti. Untuk dapat menggunakan fungsi terbilang diatas Anda harus memilih Enable Macros setiap kali Anda menggunakan
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:
  • 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).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.
  • Setelah Anda menyimpannya, tutup MS Excel. Buka kembali dengan workbook baru.
  • Pada workbook baru tersebut pilih Tools > Add-Ins… Muncul dialog box, 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.
  • Pada workbook baru ini, Anda sudah dapat menggunakan fungsi terbilang, begitu pula saat Anda nanti membuat file/workbook baru.
  • Anda dapat menonaktifkan Add-In ini dengan menghilangkan tanda check seperti tersbut di atas. 
Source : http://bahroell.wordpress.com/




1 komentar:

  1. mohon bantuan untuk funsi vba terbilang (tanpa add in) hasil pembulatan angka, misal angka aslinya adalah 7,45121 dibulatkan menjadi 7,45 terbaca "tujuh komsa empat puluh lima", 80,5666 dibulatkan menjadi 80,57 terbaca" delapan puluh koma lima puluh tujuh, 7,007 dibulatkan menjadi 7,01 terbaca "tujuh koma nol satu",dst....mohon berkenan untuk membantu dan kalau sempat tolong kirim via emai "praztmath@gmail.com", terima kasih...

    BalasHapus