幼教 | 试题 | 电脑 | 作文 | 常识 | 加入收藏 | 网站地图

您当前位置:多思学习网知识频道电脑学习软件知识EXCEL VBA自定义函数

EXCEL VBA自定义函数

11-27 21:36:09软件知识
浏览次数:637次 
标签:电脑软件知识,软件基础知识,电脑入门,http://www.duosi8.com EXCEL VBA自定义函数,
、会计工作中,经常需要将用阿拉伯数字表示的货币转换为大写中文数字表示,并且要求符合中文语法。以下VBA自定义函数可以解决这个问题,在EXCEL 2003中调试通过,使用功能也正常,但并不表示其代码编写就是合格的、优秀的,恳请达者、方家指正并改进。 为了方便,本人在编写代码时将可转换范围限定为绝对值不大于1万亿。 Const z As String = "零", d As String = "", e As String = "亿", f As String = "拾" Const g As String = "佰", h As String = "仟" Function Dxzh(a As Variant) As String If IsNumeric(a) = False Then Dxzh = "无法转换" Else b = CStr(Int(100 * Abs(CDbl(a)) + 0.5)) If CDbl(b) > 100000000000000# Then Dxzh = "数值超限" Else Dxzh = d: c = Len(b) For i = c To 1 Step -1 Dxzh = Replace(Dxzh & Mychoose(CInt(Left(b, 1)), CInt(i)), "零零", z) b = Right(b, Len(b) - 1) Next i Dxzh = Replace(Dxzh, "零亿", e) Dxzh = Replace(Dxzh, "零万", "万") Dxzh = Replace(Dxzh, "零圆", "圆") Dxzh = Replace(Dxzh, "亿万", e) If Right(Dxzh, 1) = z Then Dxzh = Left(Dxzh, Len(Dxzh) - 1) If Dxzh = z Then Dxzh = "零圆" If Sgn(CDbl(a)) = -1 Then Dxzh = "负" & Dxzh End If End If End Function Private Function Mychoose(Temp1 As Integer, Temp2 As Integer) As String Mychoose = Choose(Temp1 + 1, z, "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖") x = Choose(Temp2, "分", "角", "圆", f, g, h, "万", f, g, h, e, f, g, h) If Temp2 Mod 4 <> 3 And Mychoose = z Then x = d Mychoose = Mychoose & x End Function 第一个自定义函数就能写得这样严谨,很难得.

,EXCEL VBA自定义函数

联系我们 | 网站地图 | 幼教大全 | 试题下载 | 电脑学习 | 加入收藏


幼儿园教案_ 教案模板_ 课件模板_ 教学反思_ 教学计划


多思学习网 1 2 3 4 5 6