对于做财务工作的我来说,经常要与资金货币打交道,在填写各种做账凭证的时候,人民币大小写必须匹配、准确。在Excel表格中我们就期望当我输入了小写金额的时候,在特定单元格中能够自动出现其大写金额,这样就能完美匹配大小写金额的一致性了。而小写转大写的函数公式太过复杂,我写了一个简单的自定义函数来解决这个问题。 效果: 代码: 源代码分享:
'小写转大写的自定义函数 Function MytoUpper(sinData As Double) As String Dim strResult As String, longPart As Long, sinPart As Single strResult = '' If sinData = Int(sinData) Then strResult = WorksheetFunction.Text(sinData, '[DBNum2]') & '元整' Else longPart = Int(sinData) '整数部分 sinPart = sinData - longPart '小数部分 If longPart <> 0 Then strResult = WorksheetFunction.Text(longPart, '[DBNum2]') & '元' & _ WorksheetFunction.Text(Int(sinPart * 10), '[DBNum2]') & '角' & _ WorksheetFunction.Text(sinPart * 100 Mod 10, '[DBNum2]') & '分' Else strResult = WorksheetFunction.Text(Int(sinPart * 10), '[DBNum2]') & '角' & _ WorksheetFunction.Text(sinPart * 100 Mod 10, '[DBNum2]') & '分' End If End If MytoUpper = '人民币 ' & strResult End Function
如果这个函数你也想能够在你的表格中得以使用的话,就ctrl c复制我的源代码,打开你需要使用这个函数的Excel表格,然后按住“ALT F11”进入VBE编程环境,点击菜单栏上面的“插入”——选择“模块”,再ctrl v粘贴你复制的代码进去,然后将表格保存成.xls或者xlsm格式,那么你这个表格中就自动添加了这样的一个自定义函数了,在需要填充大写金额的单元格写“=MytoUpper(小写金额的单元格)”,那么以后只要更改小写金额单元格中的数值,大写金额就能自动被填充;以后再也不用纠结于写了小写忘改大写的这样的乌龙事件了。
|