Barusan tadi waktu di kantor, saya disuruh membuat form dari excel seperti nota (sebenarnya nulis artikel saat ini masih jam kantor juga), kemudian saya menjumpai masalah ketika membuat kolom terbilang, saya berfikir bagaimana membuat rumus terbilang otomatis yang dapat mengkonversi angka menjadi huruf, misalnya merubah angka nominal "Rp. 1.500.000" menjadi terbilang "Satu juta lima ratus ribu rupiah".
Lantas saya langsung bertanya di universitas google :D akhirnya ketemu dengan salah satu artikel diblog yg menjelaskan membuat rumus terbilang dengan makro di excel.
Caranya kurang lebih seperti ini:
1. Buka file baru di Excel
2. Masuk menu Microsoft Visual Basic Editor dengan menekan alt+F11
3. Buat modul baru dengan klik menu Insert - Module, lalu tambah kan kode VB berikut:
Simpan dan tutup Visual Basic Editor,
4. Coba ketikkan angka di salah satu cell yang mana saja, contoh di cell B4 ketikan "258000"
5. Ketikan lagi rumus di cell mana saja seperti ini, contoh di cell C4 ketik rumus "=terbilang(B4)"
6. Lihat hasilnya makan akan menjadi "dua ratus lima puluh delapan ribu rupiah" :D
sumber: http://untuknabila.blogspot.com
Lantas saya langsung bertanya di universitas google :D akhirnya ketemu dengan salah satu artikel diblog yg menjelaskan membuat rumus terbilang dengan makro di excel.
Caranya kurang lebih seperti ini:
1. Buka file baru di Excel
2. Masuk menu Microsoft Visual Basic Editor dengan menekan alt+F11
3. Buat modul baru dengan klik menu Insert - Module, lalu tambah kan kode VB berikut:
Option Explicit
Function Terbilang(ByVal MyNumber)
Dim Rupiah, Sen, Temp
Dim Des, Desimal, Count, Tmp
Dim IsNeg
ReDim Place(9) As String
Place(2) = "ribu "
Place(3) = "juta "
Place(4) = "milyar "
Place(5) = "trilyun "
'Pengubah angka menjadi string
MyNumber = Round(MyNumber, 2)
MyNumber = Trim(Str(MyNumber))
'Cek bilangan negatif
If Mid(MyNumber, 1, 1) = "-" Then
MyNumber = Right(MyNumber, Len(MyNumber) - 1)
IsNeg = True
End If
'Posisi desimal, 0 jika bil. bulat
Desimal = InStr(MyNumber, ".")
'Pembulatan sen, dua angka di belakang koma
Des = Mid(MyNumber, Desimal + 2)
If Desimal > 0 Then
Tmp = Left(Mid(MyNumber, Desimal + 1) & "00", 2)
If Left(Tmp, 1) = "0" Then
Tmp = Mid(Tmp, 2)
Sen = Satuan(Tmp)
Else
Sen = Puluhan(Tmp)
End If
MyNumber = Trim(Left(MyNumber, Desimal - 1))
End If
Count = 1
Do While MyNumber <> ""
Temp = Ratusan(Right(MyNumber, 3), Count)
If Temp <> "" Then Rupiah = Temp & Place(Count) & Rupiah
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Rupiah
Case ""
Rupiah = "nol rupiah"
Case Else
Rupiah = Rupiah & "rupiah"
End Select
Select Case Sen
Case ""
Sen = ""
Case Else
Sen = " dan " & Sen & "sen"
End Select
If IsNeg = True Then
Terbilang = "minus " & Rupiah & Sen
Else
Terbilang = Rupiah & Sen
End If
End Function
Function Ratusan(ByVal MyNumber, Count)
Dim Result As String
Dim Tmp
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
'Mengubah seribu
If MyNumber = "001" And Count = 2 Then
Ratusan = "se"
Exit Function
End If
'Mengubah ratusan
If Mid(MyNumber, 1, 1) <> "0" Then
If Mid(MyNumber, 1, 1) = "1" Then
Result = "seratus "
Else
Result = Satuan(Mid(MyNumber, 1, 1)) & "ratus "
End If
End If
'Mengubah puluhan dan satuan
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & Puluhan(Mid(MyNumber, 2))
Else
Result = Result & Satuan(Mid(MyNumber, 3))
End If
Ratusan = Result
End Function
Function Puluhan(TeksPuluhan)
Dim Result As String
Result = ""
' nilai antara 10-19
If Val(Left(TeksPuluhan, 1)) = 1 Then
Select Case Val(TeksPuluhan)
Case 10: Result = "sepuluh "
Case 11: Result = "sebelas "
Case Else
Result = Satuan(Mid(TeksPuluhan, 2)) & "belas "
End Select
' nilai antara 20-99
Else
Result = Satuan(Mid(TeksPuluhan, 1, 1)) _
& "puluh "
Result = Result & Satuan(Right(TeksPuluhan, 1))
'satuan
End If
Puluhan = Result
End Function
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 Select
End Function
Simpan dan tutup Visual Basic Editor,
4. Coba ketikkan angka di salah satu cell yang mana saja, contoh di cell B4 ketikan "258000"
5. Ketikan lagi rumus di cell mana saja seperti ini, contoh di cell C4 ketik rumus "=terbilang(B4)"
6. Lihat hasilnya makan akan menjadi "dua ratus lima puluh delapan ribu rupiah" :D
sumber: http://untuknabila.blogspot.com
Comments
Post a Comment