Sunday, April 19, 2015

Fungsi Terbilang Berbahasa Indonesia Dalam MS Excel 2007

Terkadang kita membutuhkan versi terbilang dari sebuah bilangan di dalam MS excel, kali ini saya akan membagi kepada anda bagaimana caranya membuat fungsi terbilang versi bahasa indonesia di MS excel. Baik langsung saja ikuti langkah berikut ini:
  1. Siapkan dokumen MS Excel terlebih dahulu.
  2. Masuk vba editor bisa dengan klik tab developer (untuk mengaktifkan tab developer lihat disini)==>Visual Basic, atau anda juga bisa menggunakan tombol kombinasi Alt+F11, sampai muncul tampilan seperti berikut ini

  3. Tambahkan Module baru ke dalam project anda
    perhatikan window project explorer di sebelah kiri atas, klik kanan Project VBAProject(Book1) ==> Insert ==> Module1. Sampai Muncul Code Editor untuk module1 seperti berikut:

  4. Copy dan paste kode berikut ke dalam Code Editor Module1:

    Function Ratusan(cData As String) As String
       Dim DataDepan, nLenData, nCount As Integer
       Dim SisaData, cHuruf As String
       Dim Satuan, Imbuhan As Variant
       Satuan = Array(" nol", " satu", " dua", " tiga", " empat", " lima", " enam", " tujuh", " delapan", " sembilan")
       Imbuhan = Array("", "", " puluh", " ratus")
       nLenData = Len(cData)
       SisaData = ""
       cHuruf = ""
       For nCount = nLenData To 1 Step -1
         DataDepan = Val(Mid(cData, 1, 1))
         SisaData = Mid(cData, 2, Len(cData))
         If Not (DataDepan = 0) Then
            If ((nCount = 2) And (CInt(Val(cData)) > 10) And (CInt(Val(cData)) < 20)) Then
                cHuruf = cHuruf + IIf(CInt(Val(SisaData)) = 1, " se", Satuan(CInt(Val(SisaData))))
                cHuruf = cHuruf + IIf(CInt(Val(SisaData)) = 1, "", " ") + "belas"
                GoTo Keluar
            Else
                cHuruf = cHuruf + IIf((DataDepan = 1) And (Not (nCount = 1)), " se", Satuan(DataDepan)):
                cHuruf = cHuruf + IIf((DataDepan = 1) And (Not (nCount = 1)), Trim(Imbuhan(nCount)), Imbuhan(nCount))
            End If
         End If
         cData = SisaData
       Next
    Keluar:
       Ratusan = cHuruf
       End Function

    Function Isi(cAngka As String) As String
       Dim nCount, nLenData As Integer
       Dim cHuruf, cData As String
       Dim Akhiran As Variant
       Akhiran = Array("", "", " ribu", " juta", " milyar", " triliun", " biliun", " ziliun")
       cHuruf = ""
       cData = ""
       nLenData = Fix(Len(cAngka) / 3) + IIf((Len(cAngka) Mod 3) = 0, 0, 1)
       For nCount = nLenData To 1 Step -1
           cData = Mid(cAngka, 1, IIf(Len(cAngka) - (3 * (nCount - 1)) > 0, Len(cAngka) - (3 * (nCount - 1)), 1))
           If Not (Fix(Val(cData)) = 0) Then
              cHuruf = cHuruf + IIf((nCount = 2) And (CInt(Val(cData)) = 1), " se", Ratusan(cData))
              cHuruf = cHuruf + IIf((nCount = 2) And (CInt(Val(cData)) = 1), Trim(Akhiran(nCount)), Akhiran(nCount))
              cHuruf = Replace(cHuruf, "se ribu", "seribu")
           End If
           cAngka = Right(cAngka, 3 * (nCount - 1))
       Next
       Isi = cHuruf
       End Function
    Function Terbilang(nNumber As Double) As String
       Dim cHuruf, cNumber, cFullNumber, cDecsNumber As String
       Dim nPosDecs As Integer
       If VarType(nNumber) = 2 Then
        nNumber = CDbl(CStr(Fix(nNumber)) + Application.DecimalSeparator + "0")
       Else
         nNumber = nNumber
       End If
       cHuruf = ""
       If nNumber < 0 Then
          cHuruf = " minus"
          cNumber = Trim(CStr((nNumber * -1)))
       Else
          cNumber = Trim(CStr(nNumber))
       End If
       nPosDecs = InStr(cNumber, Application.DecimalSeparator)
       cFullNumber = Mid(cNumber, 1, IIf(nPosDecs = 0, Len(cNumber), nPosDecs - 1))
       cDecsNumber = Right(cNumber, Len(cNumber) - IIf(nPosDecs = 0, Len(cNumber), nPosDecs))
       If Not (Fix(Val(cFullNumber)) = 0) Then
          cHuruf = cHuruf + Isi(CStr(cFullNumber))
       Else
          cHuruf = " nol"
       End If
       If Not (cDecsNumber = "") Then
         If Not (Fix(Val(cDecsNumber)) = 0) Then
            cHuruf = cHuruf + " koma" + Isi(cDecsNumber)
         End If
       End If
       Terbilang = cHuruf
     
    End Function
  5. Hasilnya seperti gambar dibawah ini:

  6. Setelah memalui langkah no 5, sekarang kita mencoba hasilnya di sheet1.
  7. Misalkan kita akan menulis angka di Cell "B3" dan bentuk terbilang berada di cell "C3", maka tuliskan formula di cell "C3" dengan formula sbb:

    =terbilang("B3")

    Hasilnya dapat dilihat pada gambar dibawah ini


Demikian postingan saya kali ini,semoga bermanfaat.
Anda Juga bisa melihat videonya di sini



Sumber: lupa


Artikel Terkait