cara buat angka jadi tulisan di windows excel 2007

ini kodingnya,,!!!!


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
by.semoga bermanfaat,,

Komentar

Postingan Populer