Dear mona,
Untuk sen saya buat fungsi tersendiri,
dicoba dahulu, jika ada kesalahan posting lagi di milis.
Regard
NangAgus
Function SpellNumber(ByVal MyNumber)
Dim Point, Cents, Temp
Dim DecimalPlace As Integer, Count As Integer
ReDim Place(9) As String
Place(2) = "Thousand "
Place(3) = "Million "
Place(4) = "Billion "
Place(5) = "Trillion "
' Position of decimal place 0 if none.
DecimalPlace = Len(MyNumber) - Len(Int(MyNumber)) - 1
' Convert cents and set MyNumber to Point amount.
If DecimalPlace > 0 Then
Cents = Sent(Format(MyNumber, "#.######"))
' MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
If Left(MyNumber, 1) = "0" Then
MyNumber = ""
Else
MyNumber = Int(MyNumber)
MyNumber = Trim(Str(MyNumber))
End If
Count = 1
Do While MyNumber <> ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Point = Temp & Place(Count) & Point
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Point
Case ""
Point = "Zero Point "
Case "One"
Point = "One Point "
Case Else
Point = Point & "Point "
End Select
Select Case Cents
Case ""
Cents = "Zero "
Case "One"
Cents = "One "
Case Else
Cents = " " & Cents
End Select
SpellNumber = Point & Cents
End Function
' Converts a number from 100-999 into text
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = (Right("000" & Int(MyNumber), 3))
' Convert the hundreds place.
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & "Hundred "
End If
' Convert the tens and ones place.
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
' Converts a number from 10 to 99 into text.
Function GetTens(TensText)
Dim Result As String
Result = "" ' Null out the temporary function value.
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
Select Case Val(TensText)
Case 10: Result = "Ten "
Case 11: Result = "Eleven "
Case 12: Result = "Twelve "
Case 13: Result = "Thirteen "
Case 14: Result = "Fourteen "
Case 15: Result = "Fifteen "
Case 16: Result = "Sixteen "
Case 17: Result = "Seventeen "
Case 18: Result = "Eighteen "
Case 19: Result = "Nineteen "
Case Else
End Select
Else ' If value between 20-99...
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ' Retrieve ones place.
End If
GetTens = Result
End Function
' Converts a number from 1 to 9 into text.
Function GetDigit(Digit)
Select Case Val(Digit)
Case 0: GetDigit = "Zero "
Case 1: GetDigit = "One "
Case 2: GetDigit = "Two "
Case 3: GetDigit = "Three "
Case 4: GetDigit = "Four "
Case 5: GetDigit = "Five "
Case 6: GetDigit = "Six "
Case 7: GetDigit = "Seven "
Case 8: GetDigit = "Eight "
Case 9: GetDigit = "Nine "
End Select
End Function
Function Sent(d As String)
Dim c As String, e As String
Dim b As Double, i As Integer
b = Int(d)
If Len(d) - Len(Format(b, "##")) = 0 Then
Sent = ""
Exit Function
End If
c = Right(d, Len(d) - Len(Format(b, "##")) - 1)
For i = 1 To Len(c)
e = e & GetDigit(Mid(c, i, 1))
Next i
Sent = e
End Function
On 4/5/2019 06:46, Monang Pasaribu monang_pasar...@hotmail.com
[belajar-excel] wrote:
Dear Mas Agus
Mohon maaf kurang jelas ya Mas,
Yang saya butuhkan adalah:
14.003 = fourteen point zero zero three
39.09 = thirty nine point zero nine
0.01 = zero point zero zero one
1.98 = one point nine eight
Tapi yang saya butuhkan kalau 3 digit hanyalah kalau angka nya di
bawah 0 (0.001 sampai 0.09) sementara kalau 0.01 ke atas cukup 2
digit, misalnya 0.02 (zero point zero two) dan seterusnya
begitu mas, terima kasih sebelumnya untuk respondnya
Best Regards,
Monang Pasaribu
------------------------------------------------------------------------
*From:* belajar-excel@yahoogroups.com <belajar-excel@yahoogroups.com>
on behalf of Agus nanga...@gmail.com [belajar-excel]
<belajar-excel@yahoogroups.com>
*Sent:* Friday, April 5, 2019 5:47 AM
*To:* belajar-excel@yahoogroups.com
*Subject:* Re: [belajar-excel] Mohon petunjuk Angka Terbilang dengan
desimal
Dear Monang
Saya bingung cara membacanya nih,
Maklumkah saya tidak dapat berbahasa Inggris.......
mana yang dimaksudkan?
a. 14.003 = fourteen point three
b. 14.003 = fourteen point zero zero three
c. 14.003 = fourteen and three thousandths
d. 14.003 = fourteen point three thousandths
e. 14.003 = fourteen point three thousand
pembacaan mana yang dibutuhkan?
silahkan beri bayak contoh pembacaan.
Lain kali kalau membuat posting baru jangan Reply theat yang sudah ada
yaa...
Salam
NangAgus
On 4/2/2019 21:53, Monang Pasaribu monang_pasar...@hotmail.com
<mailto:monang_pasar...@hotmail.com> [belajar-excel] wrote:
dear Senior Excel
Mohon petunjuk dong bagaimana caranya untuk membuat fungsi angka
terbilang tetapi ada angka desimal di belakang 0 (contoh 0.10 atau 0.01).
terima kasih seblumnya
Best Regards,
Monang