这前收到过一个问题不知是否是老兄所发,我已做好,现发上来,仅供参考.
Sub NumToCNum(strNum As String)
Dim CNum As Variant '定义一个数组变量
Dim I As Integer '定义循环变量
Dim sNum As String '获得小数点位置
Dim LStr As String '获得小数点左边数字字符
Dim RStr As String '获得小数点右边数字字符
CNum = Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")
sNum = InStr(strNum, ".")
'清空所有文本框内容
For I = 1 To 9
Me.Controls("text" & I) = ""
Next I
'当无小数点时,直接将数字写入到整数位的文本框中
If sNum = 0 Then
For I = 1 To Len(strNum)
Me.Controls("text" & I + 7 - Len(strNum)) = CNum(Mid(strNum, I, 1))
Next I
Else
LStr = Left(strNum, sNum - 1)
RStr = Right(strNum, Len(strNum) - sNum)
'当存在小数点时,先将整数位数字写入的文本框中
For I = 1 To sNum - 1
Me.Controls("text" & I + 7 - Len(LStr)) = CNum(Mid(LStr, I, 1))
Next I
'再将小数位数字写入到文本框中
For I = 1 To Len(strNum) - sNum
Me.Controls("text" & I + 7) = CNum(Mid(RStr, I, 1))
Next I
End If
End Sub
实例样本:
点击下载此附件