浏览器之家


在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 已转换好的大写金额

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

评论

没安装畅言模块