Senin, 07 Mei 2012

Tutorial Microsoft Excel : Fungsi Terbilang Excel

Mari berbagi ilmu komputer lagi bersama kami Tukang Service komputer Panggilan, sekarang kita akan belajar mengenai cara membuat fungsi terbilang menggunakan Microsoft Excel.
Secara default excel (baik generasi excel 2000, 2003 maupun 2007) tidak memiliki perintah terbilang. Perintah terbilang yang dimaksud disini adalah perintah atau formula untuk mengubah dari angka menjadi kata. Misalkan kita ingin mengubah angka 1,000 menjadi kata seribu, atau seribu rupiah. Kalau hanya sesekali mungkin tidak masalah kita ketik secara manual, bagaimana kalau harus berulang kali mengetikkannya, tentu merepotkan.

Service Komputer Panggilan akan membagikan tutorial excel untuk membuat fungsi terbilang ini.


Langsung saja pertama buka dulu office Excel- nya lalu setelah itu buka jendela VBA dengan menekan Alt+F11. Maka akan terbuka layar seperti ini.


Buat  sebuah  Module  baru  dengan  cara  klik  menu  Insert  -  Module  kemudian 
tambahkan script berikut.



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



Jika  dalam Visual  Basic  Editor  anda masih  ditemui  error maka  akan  berwarna merah,  tanda warna merah pada  tulisan menandakan adanya kesalahan pada script yang anda masukan.


Jika semuanya sudah benar, maka tutup kembali Visual Basic 
Editor dan kembali ke lembar kerja excel, coba ketikkan angka sembarang di sembarang 
tempat. Misal  di  cell  F5  ketikkan  1200120  (nb  : Maksimal  2147483647)
Lalu di sebelahnya atau dimana saja ketik "=terbilang(F5)" tanpa tanda kutip. Perhatikan hasilnya.

Selamat mencoba - PT. Hewios Karya Wijaya





Tukang Serpis Komputer
021-49022229 atau 021-93222296 atau 0838-8888873
Area 1 : (Telp/SMS ke 021-49022229,021-93222296)
Kelapa Gading, Sunter, Cempaka Putih, Tanjung Priok, Tipar Cakung, Rawamangun, Jatinegara, Pegangsaan, Cakung, Pulo Gadung, Kemayoran, Otista, dan area sekitarnya
Area 2 : (Telp/SMS ke 021-92821199)
Cibubur, Kota Wisata, Kota Legenda, The Address, Citra Gran, Ciangsana, Cikeas, Bojong Kulur, Villa Nusa Indah 1, Villa Nusa Indah 2, Villa Nusa Indah 3, Sakura Regency, Komsen, Jati Asih, Jati Makmur, Jati Bening, Puri Nusapala




1 komentar:

  1. malem bos ,, ane pnya maslah laptop ane berat bnget klo pertama start kira2 apa masalahnya ya ,, ma'lum newbie :)

    BalasHapus