officeba > 单独文章


在Excel2007中用自定义函数解决人民币大写转换

  女友在一家大型的超市负责商品的采购工作,对于她来说,最为烦恼的事情莫过于商品采购后的统计了,特别是每类商品采购后的金额,必须转换为大写金额。手工转换,效率太低而且易出错,为此,她让我替她想一个省时省力的好办法。女友的事情当然不能含糊,还是让我们一块儿来解决这个问题吧!



图 1 采购清单

  图1是女友某次商品采购的清单,我们的目的就是自定义一个函数,并通过调用这个自定义函数,轻松实现人民币金额的大写转换。

  第一步:在Excel2007中打开VB编辑器窗口

  启动Excel ,打开图1所示的工作簿,依次单击“开发工具→代码→Visual Basic”命令,打开“Visual Basic编辑器”窗口。

  第二步:定义转换函数

  右击“Visual Basic编辑器”窗口中的“ThisWorkbook”,选择“插入→模块”命令,插入一个新的模块(默认名称为“模块1”),接着将以下代码输入到右侧的代码编辑区域中。

 Function rmbb(M)
 y = Int(Abs(M))
 j = Round(Abs(M) - y, 2)
 f = (j * 10 - Int(j * 10)) / 10
 a = Application.Text(y, "[DBNum2]")
 d = "元"
 If j < 0.1 Then e = "" Else e = "角"
 If f < 0.01 Then g = "整" Else g = "分"
 If f < 0.01 Then c = "" Else c = Application.Text(Round(f * 100, 0), "[DBNum2]")
 If j = 0 Then b = "" Else b = Application.Text(Int(j * 10), "[DBNum2]")
 If M < 0 Then z = "负" Else z = ""
 rmbb = z & a & d & b & e & c & g
 End Function

  函数输入完毕后,关闭“Visual Basic编辑器”并返回,我们输入的代码就被自动保存了。

  第三步:开始转换

  在图1所示的XX超市商品进货记录表中,如果要实现将E列单元格的商品总价转换为大写并保存到F列与之对应的单元格中,可先在F3单元格中输入“=rmbb(E3)”(不包括引号),回车确认后商品总价就转换为大写保存到F3单元格了,接着在F3单元格拖动填充手柄到F列其它的单元格中,就完成了其它商品总价的大写转换工作(如图2)。



图 2 已转换好的大写金额

  如果大家在实际的工作中也遇到了类似问题,那就赶快试试吧!


声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2008-06-16 07:23:49,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容