分享

Excel-VBA自定义函数将人民币数字转换为大写

 L罗乐 2017-11-17


应用场景

财务报表中将人民币数字转换为大写


知识要点

1:Round(单元格, 2)返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果

2:Range.Text 属性 返回或设置指定对象中的文本。String 型,只读

3:[DBnum2] 格式函数, 数字转中文大写


Function 大写(单元格 As String) As String

    Application.Volatile

    Dim Bum, rmbs

    If Len(单元格) = 0 Then 大写 = ''

    If 单元格 = 0 Then 大写 = '零元整': Exit Function

    rmbs = Replace(Replace(Application.Text(Round(单元格, 2), '[DBnum2]'), '.', '元'), '-', '负')

    rmbs = IIf(Left(Right(rmbs, 3), 1) = '元', Left(rmbs, Len(rmbs) - 1) & '角' & Right(rmbs, 1) & '分', IIf(Left(Right(rmbs, 2), 1) = '元', rmbs & '角', IIf(rmbs = '零', '', rmbs & '元整')))

    rmbs = Replace(Replace(rmbs, '零元', ''), '零角', '') '将零元零角转换为空文本

    大写 = rmbs

End Function


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多