=terbilang( int( a1 ) ) & if( mod( a1 , 1 ) , "koma " & rept("nol ", int(mod( a1,1) * 100) <10 ) & terbilang( int(mod( a1,1) * 100) ) , "" )
gitu kali ya 2013/10/19 prazt math <praztm...@gmail.com> > ** > > > Trimakasih MK, udah bisa jalan dengan fungsi dari mr Kid tapi masih ada > kendala sewaktu saya memasukkan angka 1,01kok terbaca "satu koma satu", > yang saya inginkan misal 1,01 terbaca "satu koma nol satu". Mohon > pencerahan mr.Kid > Pada 19 Okt 2013 06:41, "Mr. Kid" <mr.nm...@gmail.com> menulis: > > ** >> >> >> Pakai Fungsi terbilang yang sudah tersebar dimana saja itu >> >> misal A1 berisi 17.561 akan diambil sampai 2 digit dibelakang koma. >> Di B1 diberi formula dengan fungsi terbilang >> =terbilang( int( a1 ) ) & if( mod( a1 , 1 ) , "koma " & terbilang( >> int(mod( a1,1) * 100) ) , "" ) >> >> Wassalam, >> Kid. >> >> >> >> 2013/10/18 PRAZT <praztm...@gmail.com> >> >>> ** >>> >>> >>> Terima kasih bung Ade tanggapanya, yang saya inginkan memang terbaca >>> seperti itu**** >>> >>> Misal 2,10 ya terbaca dua koma sepuluh bukan dua koma satu nol**** >>> >>> Mungkin itu aturan dari saya atau bisa di bilang permintaan saya >>> hehehe.....**** >>> >>> ** ** >>> >>> ******** >>> >>> PRAZTMATH ™**** >>> >>> ** ** >>> >>> *From:* belajar-excel@yahoogroups.com [mailto: >>> belajar-excel@yahoogroups.com] *On Behalf Of *M.Ade Alfarid >>> *Sent:* 18 Oktober 2013 10:07 >>> *To:* belajar-excel@yahoogroups.com >>> *Subject:* Re: [belajar-excel] macro terbilang desimal dua angka**** >>> >>> ** ** >>> >>> Dear Mr Prazt,**** >>> >>> ** ** >>> >>> Pembacaan nominal koma desimal yang anda lakukan adalah salah.**** >>> >>> Pembacaan yang benar untuk digit dibelakang koma adalah dibaca angka >>> satu persatu, tidak dibaca dengan puluhan,ratusan,ribuan dst.**** >>> >>> Contoh :**** >>> >>> 2,10 dibaca *dua koma satu nol*. Bukan dua koma sepuluh.**** >>> >>> 3,20 dibaca *tiga koma dua nol*.Bukan tiga koma duapuluh**** >>> >>> 5,2456 dibaca *lima koma dua empat lima enam* bukan lima koma duaribu >>> empatratus limapuluh enam**** >>> >>> ** ** >>> >>> Atau memang ada aturan khusus dari Mr Prazt?**** >>> >>> ** ** >>> >>> Salam,**** >>> >>> Ade**** >>> >>> ** ** >>> >>> Fri, 18 Oct 2013 09:47:26 +0700, PRAZT <praztm...@gmail.com> wrote: >>> >>> > >>> > >>> > Dear master, semoga selalu ada pada lindungan_Nya.... >>> > >>> > Di sini saya mau minta solusi tentang macro terbilang untuk bilangan >>> > desimal >>> > 2 diigit dibelakang koma. Yang saya inginkan begini; >>> > >>> > Misal angka 2,10 maka terbaca dua koma sepuluh >>> > >>> > 3,20 maka terbaca tiga koma dua puluh, ext. >>> > >>> > Mohon koreksiannya macro berikut karena tidak bisa jalan sesuai >>> harapan >>> > atau >>> > mungkin ada file dari master yang bisa langsung digunakan karena saya >>> > cari-cari di milisi tidak ketemu-ketemu >>> > >>> > >>> > Private Function KeKata(Nomor) >>> > >>> > TrjKata = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", >>> > "tujuh", >>> > "delapan", "sembilan") >>> > >>> > KeKata = TrjKata(Nomor) >>> > >>> > End Function >>> > >>> > 'Mulai penulisan Fungsi Terbilang >>> > >>> > Public Function terbilang(Nilai_Angka, Optional Style = 4, Optional >>> > Satuan = >>> > "") >>> > >>> > Angka = Fix(Abs(Nilai_Angka)) >>> > >>> > 'Desimal dibelakang koma >>> > >>> > des1 = Mid(Abs(Nilai_Angka), Len(Angka) + 2, 1) >>> > >>> > des2 = Mid(Abs(Nilai_Angka), Len(Angka) + 3, 1) >>> > >>> > If des2 = "" Then >>> > >>> > If des1 = "" Or des1 = "0" Then >>> > >>> > Koma = "" >>> > >>> > Else >>> > >>> > Koma = " koma " & KeKata(des1) >>> > >>> > End If >>> > >>> > ElseIf des2 = "0" Then >>> > >>> > If des1 = "0" Then >>> > >>> > Koma = "" >>> > >>> > ElseIf des1 = "1" Then >>> > >>> > Koma = " koma sepuluh" >>> > >>> > Else >>> > >>> > Koma = " koma " & KeKata(des1) & " puluh" >>> > >>> > End If >>> > >>> > Else >>> > >>> > If des1 = "0" Then >>> > >>> > Koma = " koma nol " & KeKata(des2) >>> > >>> > ElseIf des1 = "1" Then >>> > >>> > If des2 = "1" Then >>> > >>> > Koma = " koma sebelas" >>> > >>> > Else >>> > >>> > Koma = " koma " & KeKata(des2) & " belas" >>> > >>> > End If >>> > >>> > Else >>> > >>> > Koma = " koma " & KeKata(des1) & " puluh " & KeKata(des2) >>> > >>> > End If >>> > >>> > End If >>> > >>> > 'Misahin Angka >>> > >>> > No1 = Left(Right(Angka, 1), 1) >>> > >>> > No2 = Left(Right(Angka, 2), 1) >>> > >>> > No3 = Left(Right(Angka, 3), 1) >>> > >>> > No4 = Left(Right(Angka, 4), 1) >>> > >>> > No5 = Left(Right(Angka, 5), 1) >>> > >>> > No6 = Left(Right(Angka, 6), 1) >>> > >>> > No7 = Left(Right(Angka, 7), 1) >>> > >>> > No8 = Left(Right(Angka, 8), 1) >>> > >>> > No9 = Left(Right(Angka, 9), 1) >>> > >>> > No10 = Left(Right(Angka, 10), 1) >>> > >>> > No11 = Left(Right(Angka, 11), 1) >>> > >>> > No12 = Left(Right(Angka, 12), 1) >>> > >>> > No13 = Left(Right(Angka, 13), 1) >>> > >>> > No14 = Left(Right(Angka, 14), 1) >>> > >>> > No15 = Left(Right(Angka, 15), 1) >>> > >>> > 'Satuan >>> > >>> > If Len(Angka) >= 1 Then >>> > >>> > If Len(Angka) = 1 And No1 = 1 Then >>> > >>> > Nomor1 = "satu" >>> > >>> > ElseIf Len(Angka) = 1 And No1 = 0 Then >>> > >>> > Nomor1 = "Nol" >>> > >>> > ElseIf No2 = "1" Then >>> > >>> > If No1 = "1" Then >>> > >>> > Nomor1 = "sebelas" >>> > >>> > ElseIf No1 = "0" Then >>> > >>> > Nomor1 = "sepuluh" >>> > >>> > Else >>> > >>> > Nomor1 = KeKata(No1) & " belas" >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor1 = KeKata(No1) >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor1 = "" >>> > >>> > End If >>> > >>> > 'Puluhan >>> > >>> > If Len(Angka) >= 2 Then >>> > >>> > If No2 = 1 Or No2 = "0" Then >>> > >>> > Nomor2 = "" >>> > >>> > Else >>> > >>> > Nomor2 = KeKata(No2) & " puluh " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor2 = "" >>> > >>> > End If >>> > >>> > 'Ratusan >>> > >>> > If Len(Angka) >= 3 Then >>> > >>> > If No3 = "1" Then >>> > >>> > Nomor3 = "seratus " >>> > >>> > ElseIf No3 = "0" Then >>> > >>> > Nomor3 = "" >>> > >>> > Else >>> > >>> > Nomor3 = KeKata(No3) & " ratus " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor3 = "" >>> > >>> > End If >>> > >>> > 'Ribuan >>> > >>> > If Len(Angka) >= 4 Then >>> > >>> > If No6 = "0" And No5 = "0" And No4 = "0" Then >>> > >>> > Nomor4 = "" >>> > >>> > ElseIf (No4 = "1" And Len(Angka) = 4) Or (No6 = "0" And No5 = "0" And >>> > No4 = "1") Then >>> > >>> > Nomor4 = "seribu " >>> > >>> > ElseIf No5 = "1" Then >>> > >>> > If No4 = "1" Then >>> > >>> > Nomor4 = "sebelas ribu " >>> > >>> > ElseIf No4 = "0" Then >>> > >>> > Nomor4 = "sepuluh ribu " >>> > >>> > Else >>> > >>> > Nomor4 = KeKata(No4) & " belas ribu " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor4 = KeKata(No4) & " ribu " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor4 = "" >>> > >>> > End If >>> > >>> > 'Puluhan ribu >>> > >>> > If Len(Angka) >= 5 Then >>> > >>> > If No5 = "1" Or No5 = "0" Then >>> > >>> > Nomor5 = "" >>> > >>> > Else >>> > >>> > Nomor5 = KeKata(No5) & " puluh " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor5 = "" >>> > >>> > End If >>> > >>> > 'Ratusan Ribu >>> > >>> > If Len(Angka) >= 6 Then >>> > >>> > If No6 = "1" Then >>> > >>> > Nomor6 = "seratus " >>> > >>> > ElseIf No6 = "0" Then >>> > >>> > Nomor6 = "" >>> > >>> > Else >>> > >>> > Nomor6 = KeKata(No6) & " ratus " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor6 = "" >>> > >>> > End If >>> > >>> > 'Jutaan >>> > >>> > If Len(Angka) >= 7 Then >>> > >>> > If No9 = "0" And No8 = "0" And No7 = "0" Then >>> > >>> > Nomor7 = "" >>> > >>> > ElseIf No7 = "1" And Len(Angka) = 7 Then >>> > >>> > Nomor7 = "satu juta " >>> > >>> > ElseIf No8 = "1" Then >>> > >>> > If No7 = "1" Then >>> > >>> > Nomor7 = "sebelas juta " >>> > >>> > ElseIf No7 = "0" Then >>> > >>> > Nomor7 = "sepuluh juta " >>> > >>> > Else >>> > >>> > Nomor7 = KeKata(No7) & " belas juta " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor7 = KeKata(No7) & " juta " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor7 = "" >>> > >>> > End If >>> > >>> > 'Puluhan juta >>> > >>> > If Len(Angka) >= 8 Then >>> > >>> > If No8 = "1" Or No8 = "0" Then >>> > >>> > Nomor8 = "" >>> > >>> > Else >>> > >>> > Nomor8 = KeKata(No8) & " puluh " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor8 = "" >>> > >>> > End If >>> > >>> > 'Ratusan juta >>> > >>> > If Len(Angka) >= 9 Then >>> > >>> > If No9 = "1" Then >>> > >>> > Nomor9 = "seratus " >>> > >>> > ElseIf No9 = "0" Then >>> > >>> > Nomor9 = "" >>> > >>> > Else >>> > >>> > Nomor9 = KeKata(No9) & " ratus " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor9 = "" >>> > >>> > End If >>> > >>> > 'Milyar >>> > >>> > If Len(Angka) >= 10 Then >>> > >>> > If No12 = "0" And No11 = "0" And No10 = "0" Then >>> > >>> > Nomor10 = "" >>> > >>> > ElseIf No10 = "1" And Len(Angka) = 10 Then >>> > >>> > Nomor10 = "satu milyar " >>> > >>> > ElseIf No11 = "1" Then >>> > >>> > If No10 = "1" Then >>> > >>> > Nomor10 = "sebelas milyar " >>> > >>> > ElseIf No10 = "0" Then >>> > >>> > Nomor10 = "sepuluh milyar " >>> > >>> > Else >>> > >>> > Nomor10 = KeKata(No10) & " belas milyar " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor10 = KeKata(No10) & " milyar " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor10 = "" >>> > >>> > End If >>> > >>> > 'Puluhan Milyar >>> > >>> > If Len(Angka) >= 11 Then >>> > >>> > If No11 = "1" Or No11 = "0" Then >>> > >>> > Nomor11 = "" >>> > >>> > Else >>> > >>> > Nomor11 = KeKata(No11) & " puluh " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor11 = "" >>> > >>> > End If >>> > >>> > 'Ratusan Milyar >>> > >>> > If Len(Angka) >= 12 Then >>> > >>> > If No12 = "1" Then >>> > >>> > Nomor12 = "seratus " >>> > >>> > ElseIf No12 = "0" Then >>> > >>> > Nomor12 = "" >>> > >>> > Else >>> > >>> > Nomor12 = KeKata(No12) & " ratus " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor12 = "" >>> > >>> > End If >>> > >>> > 'Triliun >>> > >>> > If Len(Angka) >= 13 Then >>> > >>> > If No15 = "0" And No14 = "0" And No13 = "0" Then >>> > >>> > Nomor13 = "" >>> > >>> > ElseIf No13 = "1" And Len(Angka) = 13 Then >>> > >>> > Nomor13 = "satu triliun " >>> > >>> > ElseIf No14 = "1" Then >>> > >>> > If No13 = "1" Then >>> > >>> > Nomor13 = "sebelas triliun " >>> > >>> > ElseIf No13 = "0" Then >>> > >>> > Nomor13 = "sepuluh triliun " >>> > >>> > Else >>> > >>> > Nomor13 = KeKata(No13) & " belas triliun " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor13 = KeKata(No13) & " triliun " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor13 = "" >>> > >>> > End If >>> > >>> > 'Puluhan triliun >>> > >>> > If Len(Angka) >= 14 Then >>> > >>> > If No14 = "1" Or No14 = "0" Then >>> > >>> > Nomor14 = "" >>> > >>> > Else >>> > >>> > Nomor14 = KeKata(No14) & " puluh " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor14 = "" >>> > >>> > End If >>> > >>> > 'Ratusan triliun >>> > >>> > If Len(Angka) >= 15 Then >>> > >>> > If No15 = "1" Then >>> > >>> > Nomor15 = "seratus " >>> > >>> > ElseIf No15 = "0" Then >>> > >>> > Nomor15 = "" >>> > >>> > Else >>> > >>> > Nomor15 = KeKata(No15) & " ratus " >>> > >>> > End If >>> > >>> > Else >>> > >>> > Nomor15 = "" >>> > >>> > End If >>> > >>> > If Len(Angka) > 15 Then >>> > >>> > bilang = "Digit Angka Terlalu Banyak" >>> > >>> > Else >>> > >>> > If IsNull(Nilai_Angka) Then >>> > >>> > bilang = "" >>> > >>> > ElseIf Nilai_Angka < 0 Then >>> > >>> > bilang = "minus " & Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & >>> > Nomor11 >>> > & Nomor10 & Nomor9 & Nomor8 & Nomor7 _ >>> > >>> > & Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & >>> > Satuan) >>> > >>> > Else >>> > >>> > bilang = Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & >>> > Nomor10 >>> > & Nomor9 & Nomor8 & Nomor7 _ >>> > >>> > & Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & >>> > Satuan) >>> > >>> > End If >>> > >>> > End If >>> > >>> > If Style = 4 Then >>> > >>> > terbilang = StrConv(Left(bilang, 1), 1) & StrConv(Mid(bilang, 2, >>> 1000), >>> > 2) >>> > >>> > Else >>> > >>> > terbilang = StrConv(bilang, Style) >>> > >>> > End If >>> > >>> > terbilang = Replace(terbilang, " ", " ", 1, 1000, vbTextCompare) >>> > >>> > End Function >>> > >>> > >>> > >>> > Terimakasih sebelumnya... >>> > >>> > >>> > >>> > >>> > >>> > PRAZTMATH T >>> >**** >>> >>> >> >
<<image001.png>>
<<image002.png>>