小写金额转大写的三种方法 VBA实例教程 下载本文

内容发布更新时间 : 2024/5/9 16:40:15星期一 下面是文章的全部内容请认真阅读。

小写金额转大写的三种方法 VBA实例教程

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www.zhanzhanrufeng.com/cat4/210.html,VBA交流群273624828。

今天来讲下将小写金额转成大写金额的三种方法。 第一种方法在只是转单个金额时非常实用,那就是用搜狗输入法。

在中文状态下先输入一个英文字母\,然后输入你的小写金额,这时搜狗就会将你输入的小写转化为大写。比如输入\,就会显示一百和壹佰,输入\就会显示“一百元整”和“壹佰元整”。感兴趣的可以自己去试下。 第二种方法是利用Excel函数。

函数具体形式为 =TEXT(INT(A1),\通用格式元;;\MB(A1),2),\角0分;;整\零角\零\零分\整\。这也是我在网上搜集到的一个公式,非常好用,将里面A1变成相应的单元格即可。既然是Excel函数,那除了可以通过输入拖动的方法来使用外,自然也可以嵌入到VBA程序中调用。我本人在应用的时候习惯将这个公式放到一个辅助的工作表中,例如放在sheet2的B1单元格,那我只要将要转换的数值放入sheet2的A1单元格,那

B1就是我要的结果,将B1的结果调用出来即可。看下面的例子,我sheet1A列是小写金额,要在B列显示成大写,公式放在sheet2的B1单元格

Sub Excel函数转大写() Dim i

For i = 1 To sheet1.Range(\Rows.Count).End(xlUp).Row

Sheet2.Range(\ '数值放到sheet2的A1,则sheet2的B1就是我们要的大写

Sheet1.Range(\ '把sheet2的B1放到想放的位置 Next End Sub

第三种方法是利用VBA自定义函数,然后在程序中调用即可。下面的函数也是我在ExcelHome中搜集的。

Function DX(M_MONEY As Double) '将人民币小写金额转换为中文大写金额 Dim M_code As String On Error GoTo 900

M_MONEY = Round(M_MONEY, 2)

If M_MONEY = 0 Then M_code = \GoTo 900 End If

If M_MONEY < 0 Then M_code = \负\

M_MONEY = Abs(M_MONEY) End If

If M_MONEY < 0.1 Then M_code = M_code &

Application.WorksheetFunction.Text(Int(M_MONEY * 100), \分\GoTo 900 End If

If M_MONEY >= 1 Then M_code = M_code &

Application.WorksheetFunction.Text(Int(M_MONEY), \元\End If

M_MONEY = Round((M_MONEY - Int(M_MONEY)) * 100, 2)

If M_MONEY = 0 Then