' 本模块生成汉字大写的金额
'OptionExplicit' 名称: CCh
' 得到一位数字 N1 的汉字大写
' 0 返回 ""FunctionCCh(N1)As String
Select CaseN1Case0CCh ="零"Case1CCh ="壹"Case2CCh ="贰"Case3CCh ="叁"Case4CCh ="肆"Case5CCh ="伍"Case6CCh ="陆"Case7CCh ="柒"Case8CCh ="捌"Case9CCh ="玖"End Select
End Function'()Function
'名称: ChMoney
' 得到数字 N1 的汉字大写
' 最大为 千万位
' O 返回 ""Public FunctionChMoney(N1)As String
DimtMoneyAs String
DimlMoneyAs String
Dimtn'小数位置DimST1As String
DimT1As String
Dims1As String'临时STRING 小数部分Dims2As String'1000 以内Dims3As String'10000IfN1 =0ThenChMoney =" "Exit Function
End If
IfN1 <0ThenChMoney ="负"+ ChMoney(Abs(N1))Exit Function
End IftMoney = Trim(Str(N1))
tn = InStr(tMoney,".")'小数位置s1 =""Iftn <>0ThenST1 = Right(tMoney, Len(tMoney) - tn)IfST1 <>""ThenT1 = Left(ST1,1)
ST1 = Right(ST1, Len(ST1) -1)IfT1 <>"0"Thens1 = s1 + CCh(Val(T1)) +"角"End If
IfST1 <>""ThenT1 = Left(ST1,1)
s1 = s1 + CCh(Val(T1)) +"分"End If
End IfST1 = Left(tMoney, tn -1)ElseST1 = tMoneyEnd Ifs2 =""IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)
s2 = CCh(Val(T1)) + s2End If
IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)IfT1 <>"0"Thens2 = CCh(Val(T1)) +"拾"+ s2Else
IfLeft(s2,1) <>"零"Thens2 ="零"+ s2End If
End If
IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)IfT1 <>"0"Thens2 = CCh(Val(T1)) +"佰"+ s2Else
IfLeft(s2,1) <>"零"Thens2 ="零"+ s2End If
End If
IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)IfT1 <>"0"Thens2 = CCh(Val(T1)) +"仟"+ s2Else
IfLeft(s2,1) <>"零"Thens2 ="零"+ s2End If
End Ifs3 =""IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)
s3 = CCh(Val(T1)) + s3End If
IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)IfT1 <>"0"Thens3 = CCh(Val(T1)) +"拾"+ s3Else
IfLeft(s3,1) <>"零"Thens3 ="零"+ s3End If
End If
IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)IfT1 <>"0"Thens3 = CCh(Val(T1)) +"佰"+ s3Else
IfLeft(s3,1) <>"零"Thens3 ="零"+ s3End If
End If
IfST1 <>""ThenT1 = Right(ST1,1)
ST1 = Left(ST1, Len(ST1) -1)IfT1 <>"0"Thens3 = CCh(Val(T1)) +"仟"+ s3End If
End If
IfRight(s2,1) ="零"Thens2 = Left(s2, Len(s2) -1)IfLen(s3) >0Then
IfRight(s3,1) ="零"Thens3 = Left(s3, Len(s3) -1)
s3 = s3 &"万"End IfChMoney = IIf(s3 & s2 ="", s1, s3 & s2 &"元整"& s1)End Function