[ 用户登陆 ] [ 免费注册 

分类 >> 程序技术 >
ARM
网站技术
VFP

EXCEL中实现财务金额的自动化大小写转换
LGW . 2007/3/8 10:48:26
在与报销单类似的财务单据填写过程中,货币金额的小写和大写转化是一个很重要的环节,在手工处理时,不但输入时很繁琐,而且还往往会出现不符合财务上描述货币数字的情况。

在本例中,我们事先自定义一个函数,然后再利用自定义的函数来实现自动转换,具体的操作步骤如下:

1. 执行菜单栏中的【工具】|【宏】|【Visual Basic编辑器】命令,进入“Visual Basic编辑”窗口。


2. 在“Visual Basic编辑”窗口中,执行菜单栏中的【插入】|【模块】命令,插入一个模块(如图1所示)。双击左侧的“模块1”,在窗口右边展开“模块1(代码)”编辑窗口,输入如下代码:
Function dx(q)

ybb = Round(q * 100) '将输入的数值扩大100倍,进行四舍五入
y = Int(ybb / 100) '截取出整数部分
j = Int(ybb / 10) - y * 10 '截取出十分位
f = ybb - y * 100 - j * 10 '截取出百分位
zy = Application.WorksheetFunction.Text(y, "$[$DBNum2$]$$[$$-804$]$G/通用格式") '将整数部分转为中文大写
zj = Application.WorksheetFunction.Text(j, "$[$DBNum2$]$$[$$-804$]$G/通用格式") '将十分位转为中文大写
zf = Application.WorksheetFunction.Text(f, "$[$DBNum2$]$$[$$-804$]$G/通用格式") '将百分位转为中文大写
dx = zy & "元" & "整"
d1 = zy & "元"

If f <> 0 And j <> 0 Then
  dx = d1 & zj & "角" & zf & "分"
  If y = 0 Then   
   dx = zj & "角" & zf & "分"
End If
End If

If f = 0 And j <> 0 Then
   dx = d1 & zj & "角" & "整"   
   If y = 0 Then
      dx = zj & "角" & "整"  
   End If
End If

If f <> 0 And j = 0 Then
  dx = d1 & zj & zf & "分"
  If y = 0 Then
     dx = zf & "分"
  End If
End If

If q = "" Then
   dx = 0 '如没有输入任何数值为0
End If

End Function



提示:代码中“dx”是自定义函数名称,读者可以修改为其他字符。  
3. 输入完成后,关闭VBA编辑窗口返回工作表状态。
4. 在D13单元格中输入公式:=dx(F12),确认后即可将F12单元格中所示的小写数字金额转换为大写的数字金额,并将结果显示在D13单元格中,如图2所示。

 网址: http://support.microsoft.com/default.aspx?scid=kb;zh-cn;890704 


最近后的内容
MSDN Library for Visual Studio® Team Edition for Database Professionals(2006 年 12 月)
SQL Server 2000 SP4 32/64
MSDN Library April 2007 免费下载
最近前的内容
如何取得字符点阵数据(GetGlyphOutline函数简单应用)
最受欢迎
EXCEL中实现财务金额的自动化大小写转换
MSDN Library April 2007 免费下载
如何取得字符点阵数据(GetGlyphOutline函数简单应用)
SQL Server 2000 SP4 32/64
MSDN Library for Visual Studio® Team Edition for Database Professionals(2006 年 12 月)
 ©2005 - 2008 粤ICP备12037054号-1 用户登陆  |  互联说明  |  联系我们  |  网站地图