EXCEL数字转大写英文.pdf
文本预览下载声明
此过程为西人所写,谨推荐给大家.
**************** Main Function *****************
Function SayUSD(ByVal MyNumber)
Dim Dollars, Cents, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Application.Volatile True
Place(2) = Thousand
Place(3) = Million
Place(4) = Billion
Place(5) = Trillion String representation of amount
MyNumber = Trim(Str(MyNumber)) Position of decimal place 0 if
none
DecimalPlace = InStr(MyNumber, .)
Convert cents and set MyNumber to dollar amount
If DecimalPlace 0 Then
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) 00, 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber
Temp = GetHundreds(Right(MyNumber, 3))
If Temp Then Dollars = Temp Place(Count) Dollars
If Len(MyNumber) 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber =
End If
Count = Count + 1
Loop
Select Case Dollars
Case
Dollars = No Dollars
Case One
Dollars = One Dollar
Case Else
Dollars = Dollars Dollars
End Select
Select Case Cents
Case
Cents =
Case One
Cents = and One Cent
Case Else
Cents = and Cents Cents
End Select
SayUSD = Dollars 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 MyNumber, 3) Convert the hundreds place
If Mid(MyNumber, 1, 1) 0 Then
Result = GetDigit(Mid(MyNumber, 1, 1)) Hundred
End If
显示全部