Sabtu, Desember 24, 2022

Rumus dan Kode VBA Untuk Merubah Angka Menjadi Huruf di Excel

Rumus untuk merubah angka menjadi huruf di excel sangat dibutuhkan bagi orang yang terbiasa mengolah data-data angka dan ingin menyajikan data angka dalam bentuk kata-kata. Misal, dari angka 1.300.000 ingin dibuah menjadi kata "Satu Juta Tiga Ratus Ribu Rupiah". 

Penggunaan cara ini biasanya digunakan ketika seseorang membaut sebuah kwitansi, dimana disitu ada form angka dan ada form terbilang.

Jika dilakukan secara manual, artinya mengetik manual tentu tidak efektif, apalai kalau data yang akan disajikan dalam jumlah banyak. Kalau hanya satu data angka yang akan diubah menjadi huruf, tentu tidaklah begitu berat, tapi bayangkan jika data yang akan diubah terdiri dari ratusan atau bahkan ribuah data. Wow, jari-jari akan terasa lelah untuk mengetik data sebanyak itu. Hehe....

Nah, solusinya tentu ingin sesuatu yang otomatis. Kabar baiknya, excel adalah aplikasi yang bisa melakukan itu semua, asal kita melakukan sedikit tips dan trik atau modifikasi rumus pada excel.

Ada 3 cara untuk merubah angka menjadi huruf pada excel 

1. anda bisa menggunakan add on terbilang, bisa di unduh di sini 

2. bisa menggunakan kode VBA

3. bisa menggunakan rumus terbilang

Apa sih perbedaan dari ketiga cara di atas?

Add Terbilang Excel

Add on terbilang adalah sebuah fitur tambahan yang berfungsi untuk merubah angka menjadi huruf. Cara kerja dari add on ini adalah kita harus mengunduh add on tersebut, kemudian memasukkn add on tersebut ke excel kita.

Keunggulannya, cara penggunannya sangat mudah, tinggal unduh kemudian tanam di excel kita.

Kelemahannya, add harus selalu adalah folder tertentu, ketika add tesebut hilang atah pidan folder maka add on tidak akan berfungsi

Kode VBA Untuk Merubah Angka Menjadi Huruf

Kode VBA (Visual Basic Aplication) adalah rangkaian kode yang ditanam pada excel yang nantinya akan memunculkan sebuah fungsi baru dalam excel yang berfungsi untuk merubah angka menjadi huruf.

Keunggulannya, asal kode VBA sudah ditanam dalam sebuah file excel, maka fungsi terbilang ini akan terus bekerja pada file excel tersebut meskipun filenya berpindah-pindah folder bahkan pindah komputer.

Kelemahannya, kode VBA ini hanya berfungsi pada file yang ditanam saja, jadi ketika akan membuat fungsi terbilang pada file lain maka harus menanamkan kode VBA nya lagi, selian itu kode VBA ini tidak akan bisa disimpan pada excel dengan format xlsx. Jadi, anda harus menyimpan file kerjaan adna dalam format xls (Excel 97-2003 Workbook).

Kode VBA Untuk Merubah angka menjadi teks ada di bawah ini :

Public Function konv(vln As Variant) As String

    Dim VCS As String

    Dim vkonv, vTS As String

    Dim v3D

    Dim vTTbl(1 To 5), vtbl(1 To 5) As String

    Dim vX, vN As Byte

    v3D = Array("", "", "Triliun ", "Milyar ", "Juta ", "Ribu ", "", "")

    Static vK As String

    If IsNumeric(vln) = False Then

        konv = "Data Yang Akan di Konversi Harus Angka!!!"

        Exit Function

    End If

        

    vTS = Format(vln, "###")

    If Len(vTS) > 15 Then

        konv = "Digit Terlalu Banyak, mak 15 Digit (Trilyun)"

        Exit Function

    End If

       

    vTS = Format(vln, "000000000000000")

    vK = Mid(vTS, 17, 3)

    vN = 1

    For vX = 1 To 5

        vTTbl(vX) = Mid(vTS, vN, 3)

        vtbl(vX) = funckonv(CDbl(vTTbl(vX)))

        If vtbl(vX) = "" Then

            v3D(vX + 1) = ""

        End If

        

        If vtbl(4) = "Satu " Then

            vtbl(4) = "Se"

            v3D(5) = "ribu "

        End If

        

        vkonv = vkonv & v3D(vX) & vtbl(vX)

        vN = vN + 3

    

    Next vX

    

    If vln = "0" Then

        vkonv = "Nol"

    End If

    

    If vK = "" Then

        konv = "" & vkonv & "Rupiah"

    Else

        Static vT

        vT = funckonv(CDbl(vK))

        konv = "" & vkonv & "Rupiah" & vT & "Sen"

    End If

    

End Function


Public Function funckonv(vA As Double) As String


Dim vkonv$

vkonv$ = ""

Dim vSA As String, vX, vN

Dim vAH, vAA

Dim vH(1 To 30) As String, vA1(1 To 30) As String

vAH = Array("", "Satu ", "Dua ", "Tiga ", "Empat ", "Lima ", "Enam ", "Tujuh ", "Delapan ", "Sembilan ", "Sepuluh ", "Sebelas ", "Dua Belas ")

vAA = Array("", "Puluh ", "Ratus ", "Ribu ", "Puluh ", "Ratus ", "Juta ", "Puluh ", "Ratus ", "Milyar ", "Puluh ", "Ratus ", "Trilyun ", "Puluh ", "Ratus ", "Bilyun ", "Puluh ", "Ratus ")

vSA = CStr(vA)


For vX = 1 To Len(vSA)

    vH(vX) = vAH(Mid(vSA, vX, 1))

    vA1(vX) = vAA(Len(vSA) - vX)

    If vH(vX) = "" Then vA1(vX) = ""

Next vX


If Left(Right(vSA, 2), 1) = 1 And Len(vSA) <> 1 And Val(Right(vSA, 2)) >= 10 Then

    vH(Len(vSA)) = ""

    vH(Len(vSA) - 1) = vAH(Right(vSA, 1))

    vA1(Len(vSA) - 1) = "Belas "

    If vH(Len(vSA) - 1) = "Satu " Then

        vH(Len(vSA) - 1) = "Se"

        vA1(Len(vSA) - 1) = "belas "

    End If

    

    If vH(Len(vSA) - 1) = "" Then

        vH(Len(vSA) - 1) = "Se"

        vA1(Len(vSA) - 1) = "puluh "

    End If

End If


If vH(1) = "Satu " And (Len(vSA) > 1) And (Len(vSA) <= 6) Then

    vH(1) = "Se"

    vA1(1) = LCase(vA1(1))

End If


For vX = 1 To Len(vSA)

    vkonv$ = vkonv$ & vH(vX) & vA1(vX)

Next vX


funckonv = vkonv$

    

End Function


 Cara Memasang Kode VBA Terbilang

Silakan anda buka file excel, kemudian klik Alt + F11 (Untuk membuka Microsoft Viusal Basic for Aplication) klik insert, klik Module, silakan copy paste kode di atas pada Module yang tersedia, kemudian tutup Microsoft Visual Basic for Aplication nya. Sekarang silakan anda uji coba rumum terbilanganya dengan mengetik =konv(alamat cell data angka). Misal data angka yang akan diubah menjadi huruf ada pada Cell A1, maka rumunya =konv(A1).

Rumus excel untuk merubah angka menjadi huruf

Rumus excel adalah serangkaian kode yang bisa terdiri dari beberapa fungsi yang lagnsung diinput pada cell excel. Jadi sudah tahu kan perbedaan kode VBA dengan rumus ini. Kalau kode VBA serangkakai kode yang akan ditanam pada Microsoft VBA dan nantinya akan menghasilkan sebuah fungsi baru pada excel, sedangkan rumus excel ini adalah kombinasi fungsi excel yang langsung menghasilkan data yang kita inginkan.

Berikut adalah rumus untuk merubah angka menjadi huruf. Waduh, ko panjang banget. Gak usah bingung, kan tinggal copy paste.

=PROPER(IF(A1=0;"nol";IF(A1<0;"minus ";"")&SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(--MID(TEXT(ABS(A1);"000000000000000");1;3)=0;"";MID(TEXT(ABS(A1);"000000000000000");1;1)&" ratus "&MID(TEXT(ABS(A1);"000000000000000");2;1)&" puluh "&MID(TEXT(ABS(A1);"000000000000000");3;1)&" trilyun ")&IF(--MID(TEXT(ABS(A1);"000000000000000");4;3)=0;"";MID(TEXT(ABS(A1);"000000000000000");4;1)&" ratus "&MID(TEXT(ABS(A1);"000000000000000");5;1)&" puluh "&MID(TEXT(ABS(A1);"000000000000000");6;1)&" milyar ")&IF(--MID(TEXT(ABS(A1);"000000000000000");7;3)=0;"";MID(TEXT(ABS(A1);"000000000000000");7;1)&" ratus "&MID(TEXT(ABS(A1);"000000000000000");8;1)&" puluh "&MID(TEXT(ABS(A1);"000000000000000");9;1)&" juta ")&IF(--MID(TEXT(ABS(A1);"000000000000000");10;3)=0;"";IF(--MID(TEXT(ABS(A1);"000000000000000");10;3)=1;"*";MID(TEXT(ABS(A1);"000000000000000");10;1)&" ratus "&MID(TEXT(ABS(A1);"000000000000000");11;1)&" puluh ")&MID(TEXT(ABS(A1);"000000000000000");12;1)&" ribu ")&IF(--MID(TEXT(ABS(A1);"000000000000000");13;3)=0;"";MID(TEXT(ABS(A1);"000000000000000");13;1)&" ratus "&MID(TEXT(ABS(A1);"000000000000000");14;1)&" puluh "&MID(TEXT(ABS(A1);"000000000000000");15;1));1;"satu");2;"dua");3;"tiga");4;"empat");5;"lima");6;"enam");7;"tujuh");8;"delapan");9;"sembilan");"0 ratus";"");"0 puluh";"");"satu puluh 0";"sepuluh");"satu puluh satu";"sebelas");"satu puluh dua";"duabelas");"satu puluh tiga";"tigabelas");"satu puluh empat";"empatbelas");"satu puluh lima";"limabelas");"satu puluh enam";"enambelas");"satu puluh tujuh";"tujuhbelas");"satu puluh delapan";"delapanbelas");"satu puluh sembilan";"sembilanbelas");"satu ratus";"seratus");"*satu ribu";"seribu");0;""));" ";" ")))&" Rupiah"

 Cara Menggunakan Rumus Angka Menjadi Huruf

Rumus yang di tulis di atas, menggunakan alamat data berada pada Cell A1. Jadi kalau anda ingin menggunakan rumus tersebut dan alamat data (DATA ANGKANYA) berada di cel lain, misa di cell D3 maka anda harus merubah A1 menjadi D3. Cara yang paling cepat adalah dengan menggunakan fitur Replace All.

Untuk cara menggunakan fitur replace All saya kira sudah tahu lah ya, dan saya tidak akan membahasnya di sini. 

Saya rasa sudah cukup, semoga anda bisa menggunakan rumus ataupun kode VBA untuk merubah angka menjadi huruf sehingga bisa mempercepat pekerjaan anda semua.

Tidak ada komentar:

Posting Komentar

Resep Buat Kamu

Back To Top