Rabu, 17 Oktober 2012

Konversi Angka Menjadi Huruf di MS Excel



Konversi dari angka menjadi huruf biasanya digunakan untuk pembuatan kwitansi/receipt. Misalnya angka Rp.1.001.000,- ditulis menjadi “Satu juta seribu rupiah”. Berikut ada tips untuk mengkonversi angka menjadi huruf secara otomatis dengan memanfaatkan skrip VB.
[Catatan: Saya menggunakan MS Office 2007]
  1. Tentu saja, buka dulu program MS Excel dengan cara yang paling disukai.
  2. Sebelumnya tampilkan dulu Tab Menu Developer di Ribbon, yaitu dengan cara klik Microsoft Button yang ada di pojok kiri atas, lalu pilih Excel Options. Di tab Popular, aktifkan pilihan “Show Developer Tab in the Ribbon“, lalu tekan OTRE.
  3. Di Tab menu Developer, pilih menu Visual Basic untuk menampilkan Visual Basic Editor (VBE). Pilih menu Insert > Module. Salin kode di bawah ke dalam jendela Module1.
    Dim Huruf(0 To 9) As String
    Dim ax(0 To 3) As Double
     
    Function INIT_angka()
        Huruf(0) = ""
        Huruf(1) = "satu "
        Huruf(2) = "dua "
        Huruf(3) = "tiga "
        Huruf(4) = "empat "
        Huruf(5) = "lima "
        Huruf(6) = "enam "
        Huruf(7) = "tujuh "
        Huruf(8) = "delapan "
        Huruf(9) = "sembilan "
     
    End Function
     
    Function dgratus(angka As Double) As String
        Temp = ""
        INIT_angka
        panjang = Len(Trim(Str(angka)))
        nilai = Right("000", 3 - panjang) + Trim(Str(angka))
        For y = 3 To 1 Step -1
            ax(y) = Mid(nilai, y, 1)
        Next y
        Select Case ax(1)
            Case Is = 1
                Temp = "Seratus "
            Case Is > 1
                Temp = Huruf(Val(ax(1))) + "" + "ratus "
            Case Else
                Temp = ""
            End Select
     
        Select Case ax(2)
            Case Is = 0
                Temp = Temp + Huruf(Val(ax(3)))
            Case Is = 1
                Select Case ax(3)
                    Case Is = 1
                        Temp = Temp + "Sebelas"
                    Case Is = 0
                        Temp = Temp + "Sepuluh"
                    Case Else
                        Temp = Temp + Huruf(Val(ax(3))) + " belas"
                End Select
            Case Is > 1
                Temp = Temp + Huruf(Val(ax(2))) + "puluh"
                Temp = Temp + " " + Huruf(Val(ax(3)))
            End Select
        dgratus = Temp
    End Function
    Function dghuruf(angka As Double) As String
        Dim ratusan(0 To 6) As String
        Dim sebut(0 To 4) As String
        sebut(1) = " ribu "
        sebut(2) = " juta "
        sebut(3) = " milyar "
        sebut(4) = " triliyun "
        panjang = Len(Trim(Str(angka)))
        kali = Int(panjang / 3)
        If Int(panjang / 3) * 3 <> panjang Then
            kali = kali + 1
            sisa = panjang - Int(panjang / 3) * 3
            nilai = Right("000", 3 - sisa) + Trim(Str(angka))
        Else
            nilai = Trim(Str(angka))
        End If
     
        For x = 0 To kali
            ratusan(kali - x) = Mid(nilai, x * 3 + 1, 3)
        Next x
     
        For y = kali To 1 Step -1
            If y = 2 And Val(ratusan(y)) = 1 Then
                Temp = Temp + "seribu "
            Else
                If Val(ratusan(y)) = 0 Then
                    Temp = Temp
                Else
                    Temp = Temp + dgratus(Val(ratusan(y)))
                    Temp = Temp + sebut(y - 1)
                End If
            End If
        Next y
        dghuruf = Temp
    End Function
  4. Setelah itu tutup jendela VBE dengan meng-klik menu File > Close and Return to Microsoft Excel.
  5. Selanjutnya simpan lembar kerja tersebut dengan memilih tombol Office Button dan pilih menu Save As > Excel Macro – Enabled Workbook.
  6. Konversi Angka Menjadi Huruf di MS Excel
  7. Sekarang silahkan menguji coba dengan menulis angka berapa saja di sembarang cell. Misalnya di A1 kita tulis 25081981. Di sel B1 kita ingin menampilkan hurufnya, maka di B1 ketikkan =dghuruf(A1)
Untuk menambahkan kata “rupiah” di belakangnya, tambahkan &” rupiah”, sehingga menjadi
=dghuruf(A1)&" rupiah"
.
Untuk mengubah supaya huruf depan tiap kata menjadi kapital, tambahkan fungsi PROPER, sehingga menjadi
=PROPER(dghuruf(A1)&" rupiah")
.
Untuk mengubah setiap huruf menjadi kapital, tambahkan fungsi UPPER, sehingga menjadi
=UPPER(dghuruf(A1)&" rupiah")
.
Selamat mencoba dan semoga bermanfaat. Smile
Untuk mengkonversi huruf supaya tertulis terbalik (ıuı ıʇɹǝdǝs), kunjungi tool membalik teks.

1 komentar: