Ketika menggunakan M.S Excel, beberapa dari kita pasti mengalami masalah ketika harus mengetikkan terbilang dari sebuah angka menjadi huruf, masalahnya akan terjadi ketika angka dirubah dan harus mengetik kembali huruf terbilangnya demikian seterusnya.
Kali ini saya akan memberikan pencerahan bagaimana caranya agar ketika angka dirubah huruf yang adapun ikut berubah mengikuti perubahan pada angka yang diketikkan.
Sebenarnya pada M.S Excel sudah ada program merubah angka menjadi huruf namun belum ada untuk merubah ke bahasa Indonesia. Untuk itu kita harus membuat sebuah program melalui Macro kemudian di aplikasikan ke M.S Excel melalui add ins.
- Buka applikasi visual basic pada excel (excel option/popular/centang show developer tab in the ribbon).
-
- Option Explicit'***************' Mengubah Angka Menjadi Teks'***************Function andy(ByVal mynumber)Dim Rupiah, Sen, TempDim Des, Desimal, Count, TmpDim IsNegReDim Place(9) As StringPlace(2) = "Ribu "Place(3) = "Juta "Place(4) = "Milyar "Place(5) = "Trilyun "'Ubah angka menjadi stringmynumber = Round(mynumber, 2)mynumber = Trim(Str(mynumber))
'Cek bilangan negatifIf Mid(mynumber, 1, 1) = "-" Thenmynumber = Right(mynumber, Len(mynumber) - 1)IsNeg = TrueEnd If
'Posisi desimal, 0 jika bil. bulatDesimal = InStr(mynumber, ".")'Pembulatan sen, dua angka di belakang komaDes = Mid(mynumber, Desimal + 2)If Desimal > 0 ThenTmp = Left(Mid(mynumber, Desimal + 1) & "00", 2)If Left(Tmp, 1) = "0" ThenTmp = Mid(Tmp, 2)Sen = Satuan(Tmp)ElseSen = Puluhan(Tmp)End Ifmynumber = Trim(Left(mynumber, Desimal - 1))End If
Count = 1Do While mynumber <> ""Temp = Ratusan(Right(mynumber, 3), Count)If Temp <> "" Then Rupiah = Temp & Place(Count) & RupiahIf Len(mynumber) > 3 Thenmynumber = Left(mynumber, Len(mynumber) - 3)Elsemynumber = ""End IfCount = Count + 1Loop
Select Case RupiahCase ""Rupiah = "nol rupiah."Case ElseRupiah = Rupiah & "Rupiah."End Select
Select Case SenCase ""Sen = ""Case ElseSen = " dan " & Sen & "sen"End Select
If IsNeg = True Thenandy = "minus " & Rupiah & SenElseandy = Rupiah & SenEnd If
End Function'**************************************' Mengubah angka 100-999 menjadi teks *'**************************************Function Ratusan(ByVal mynumber, Count)Dim Result As StringDim Tmp
If Val(mynumber) = 0 Then Exit Functionmynumber = Right("000" & mynumber, 3)
'Mengubah seribuIf mynumber = "001" And Count = 2 ThenRatusan = "Se"Exit FunctionEnd If
'Mengubah ratusanIf Mid(mynumber, 1, 1) <> "0" ThenIf Mid(mynumber, 1, 1) = "1" ThenResult = "Seratus "ElseResult = Satuan(Mid(mynumber, 1, 1)) & "Ratus "End IfEnd If
'Mengubah puluhan dan satuanIf Mid(mynumber, 2, 1) <> "0" ThenResult = Result & Puluhan(Mid(mynumber, 2))ElseResult = Result & Satuan(Mid(mynumber, 3))End IfRatusan = Result
End Function
'*******************' Mengubah puluhan *'*******************Function Puluhan(TeksPuluhan)Dim Result As StringResult = ""' nilai antara 10-19If Val(Left(TeksPuluhan, 1)) = 1 ThenSelect Case Val(TeksPuluhan)Case 10: Result = "Sepuluh "Case 11: Result = "Sebelas "Case ElseResult = Satuan(Mid(TeksPuluhan, 2)) & "Belas "End Select' nilai antara 20-99ElseResult = Satuan(Mid(TeksPuluhan, 1, 1)) _& "puluh "Result = Result & Satuan(Right(TeksPuluhan, 1))'satuanEnd IfPuluhan = ResultEnd Function
'********************************' Mengubah satuan menjadi teks. *'********************************Function Satuan(Digit)Select Case Val(Digit)Case 1: Satuan = "Satu "Case 2: Satuan = "Dua "Case 3: Satuan = "Tiga "Case 4: Satuan = "Empat "Case 5: Satuan = "Lima "Case 6: Satuan = "Enam "Case 7: Satuan = "Tujuh "Case 8: Satuan = "Delapan "Case 9: Satuan = "Sembilan "Case Else: Satuan = ""End SelectEnd Function -
-
-