Mohon tunggu...
KOMENTAR
Catatan

KUITANSI DENGAN FUNGSI TERBILANG PADA EXCEL

10 Desember 2011   10:19 Diperbarui: 25 Juni 2015   22:34 1779 1
Pada pembuatan Kuitansi adalah selalu memakai terjemah dari angka ke kata-kata. Tidak perlu dijelaskan kenapa Angka harus ditulis ulang Dengan Huruf. "Ude dari sono nye.. " He he... MEMBUAT FUNGSI TERBILANG Kali ini saya Repost tentang Fungsi Terbilang.  Maksudnya tidak lain hanyalah membantu buat yang belum pernah atau belum memiliki atau belum tahu caranya bahwa terjemah Angka ke Dengan Huruf bisa dibuat otomatis. (Maaf buat rekan2 yg udah mengerti :) ) Fungsi Terbilang ini saya tulis pada Modul VBA di Macro Excel. Adapun rincian kodenya sebagai berikut :

Public Function Terbilang(MyNum As String) As String Dim BitNum(18) As Integer Dim TalkNum(18) As String Dim BitOfText(18) As String Dim BitOfNum As Integer Dim LenMyNum As Integer Dim TextBuffer As String Dim MyLoop As Integer Dim ResultBuffer ResultBuffer = "" BitOfNum = 0 Terbilang = "'" LenMyNum = Len(MyNum) If Val(MyNum) > 999999999999999# Then GoTo ResultError For MyLoop = LenMyNum To 1 Step -1 BitNum(MyLoop) = Val(Mid$(MyNum, MyLoop, 1)) BitOfNum = BitOfNum + 1 GoSub TheBit Next MyLoop For MyLoop = 1 To LenMyNum TextBuffer = TextBuffer + TalkNum(MyLoop) + BitOfText(MyLoop) Next MyLoop Terbilang = TextBuffer Terbilang = UCase(Terbilang) & "RUPIAH" Exit Function TheBit: Select Case BitOfNum Case 1: BitOfText(MyLoop) = "" Case 2, 5, 8, 11, 14, 17: BitOfText(MyLoop) = "puluh " Case 3, 6, 9, 12, 15, 18: BitOfText(MyLoop) = "ratus " Case 4: BitOfText(MyLoop) = "ribu " Case 7: BitOfText(MyLoop) = "juta " Case 10: BitOfText(MyLoop) = "milyar " Case 13: BitOfText(MyLoop) = "trilyun " Case 16: BitOfText(MyLoop) = "bilyun " End Select Select Case BitNum(MyLoop) Case 0: TalkNum(MyLoop) = "": BitOfText(MyLoop) = "" Case 1 Select Case BitOfNum Case 1, 4, 7, 10, 13, 16 TalkNum(MyLoop) = "satu " If BitOfNum = 4 And BitOfNum = LenMyNum Then TalkNum(MyLoop) = "se" Case 2, 5, 8, 11, 14, 17 If BitNum(MyLoop + 1) = 0 Then TalkNum(MyLoop) = "se" If BitNum(MyLoop + 1) = 1 Then TalkNum(MyLoop) = "se" TalkNum(MyLoop + 1) = "belas " BitOfText(MyLoop) = "" End If If BitNum(MyLoop + 1) > 1 Then TalkNum(MyLoop) = TalkNum(MyLoop + 1) TalkNum(MyLoop + 1) = "belas " BitOfText(MyLoop) = "" End If Case 3, 6, 9, 12, 15, 18 TalkNum(MyLoop) = "se" End Select Case 2: TalkNum(MyLoop) = "dua " Case 3: TalkNum(MyLoop) = "tiga " Case 4: TalkNum(MyLoop) = "empat " Case 5: TalkNum(MyLoop) = "lima " Case 6: TalkNum(MyLoop) = "enam " Case 7: TalkNum(MyLoop) = "tujuh " Case 8: TalkNum(MyLoop) = "delapan " Case 9: TalkNum(MyLoop) = "sembilan " End Select If BitNum(MyLoop) 0 Then If BitOfNum = 5 Or BitOfNum = 6 Then BitOfText(LenMyNum - 3) = "ribu " If BitOfNum = 8 Or BitOfNum = 9 Then BitOfText(LenMyNum - 6) = "juta " If BitOfNum = 11 Or BitOfNum = 12 Then BitOfText(LenMyNum - 9) = "milyar " If BitOfNum = 14 Or BitOfNum = 15 Then BitOfText(LenMyNum - 12) = "trilyun " End If Return ResultError: Terbilang = "ERR()" Exit Function End Function
KEMBALI KE ARTIKEL


LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun