Excel中将人民币小写转大写的宏
2008-02-23 07:22:27来源:互联网 阅读 ()
语 种:简体中文
编辑器:VBA
平 台:Win9x,Win2k/NT,WinXP
作品源代码: -
软件或演示: -
代码大小: -
软件大小: -
无图片
Function DXRMB(je As Currency) As String
'湖南省巴陵石化热电厂陈放雄编制 yhcfx@sohu.com
'很容易将其改为其它编程语言的人民币转换函数
'**************************************************
Dim sDW, sDX, sS, sCS, sWDX, sWDW As String
'sDW表示金额大写的单位
'sDX表示数字的大写
'sS表示转换的中间字符串
'sCS表示金额转换为货币化的数字字符串
'sWDX表示某一个位的位数字大写
'sWDW表示某一个位的单位
Dim cJE As Currency
'cJE表示金额扩大100位并取整后的金额
Dim iL, iW, iLEN As Integer
'iL表示金额串的长度循环变量(包含角分位但不含小数点)
'iW表示某一个位的数字数值
'iLEN表示金额串的总长度(包含角分位但不含小数点)
Dim bCUR0, bPRE0 As Boolean
'bCUR0表示当前位数字是否为零
'bPRE0表示前一位数字是否为零
'***************************************************
If Abs(je) < 0.01 Then
DXRMB = "零元整"
Exit Function
End If
sWDX = "" '位大写赋初值
If je < 0 Then
sWDX = "(负)" '负数值前面加(负)
je = Abs(je)
End If
If je > 922337203685.47 Then '超限判断
DXRMB = "数据的绝对值不能大于922337203685.47"
Exit Function
End If
sDW = "分角元拾佰仟万拾佰仟亿拾佰仟万拾佰"
sDX = "零壹贰叁肆伍陆柒捌玖"
cJE = Round(je * 100)
sCS = CStr(cJE)
iL = Len(sCS) '长度循环变量初始化
iLEN = iL '保存总长度
sS = sWDX '转换中间字符串初始化
bPRE0 = False '前一位数字是否为零变量初始化
bCUR0 = False '当前位数字是否为零变量初始化
While iL >= 1 '金额长度循环
iW = CInt(Mid(sCS, iLEN - iL 1, 1)) '某位的数字数值
sWDX = MidB(sDX, iW * 2 1, 2) '某位的大写
sWDW = MidB(sDW, (iL - 1) * 2 1, 2) '某位的单位
iL = iL - 1
bCUR0 = iW = 0
If (Not bCUR0) Or (sWDW = "亿") Or (sWDW = "万") Or (sWDW = "元") Then
If bPRE0 Then '前一位数字为零时
If Not bCUR0 Then '如果当前位不为零
sS = sS "零" sWDX sWDW
Else '如果当前位为零时
If Not ((sWDW = "万") And (Right(sS, 1) = "亿")) Then
sS = sS sWDW '必为位单位为"亿|万|元",只需加入位单位
End If
End If
Else '前一位数字为不零时
If Not bCUR0 Then '且当前位不为零时
sS = sS sWDX sWDW
Else '且当前位为零时
sS = sS sWDW '必为位单位为"亿|万|元",只需加入位单位
End If
End If
End If
bPRE0 = bCUR0 And (sWDW <> "元") '前一位是否为零变量赋值
Wend
If Right(sS, 1) <> "分" Then
sS = sS "整"
End If
DXRMB = sS '返回转换结果
End Function
上一篇: QuickEMail 邮件特快专递示例程序
下一篇: 用COM 做的远程控制系统演示程序
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash