欢迎来到天天文库
浏览记录
ID:10117781
大小:172.00 KB
页数:3页
时间:2018-06-11
《创建自己的excel函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、创建自己的Excel函数Excel的强大函数功能,为我们带来了极大方便,虽然它有200多个函数,但有时我们为实现一项规定的功能,可能用到几个函数或者采用嵌套函数,这样应用起来,也不太方便。其实对于我们经常用到的功能,我们可以创建自定义函数UDF(User—definedfunction),它的运行与Excel中自带的函数完全相同。建立自定义函数有以下几个优点:建立自己特殊的功能和名称的函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力。比如现在我们要根据收入来计算个人收入调节税,按照规定每月收入减去800元基础后,除去养老保险金、失业保险金、医疗保险金、住房公积
2、金、工会费,对剩下的余额征收个税。余额在500元内的征收余额的5%,余额为500~2000元的征收余额的10%,余额为2000~5000元的征收余额的15%……征收个税的最高税率为45%(余额在10万元以上的)。如果用Excel的函数,则要进行多层if嵌套,稍有不注意,可能造成计算上差错,我们建立自己的函数来解决这个问题。首先进入Excel,在[工具]→[宏]→[VisulBasic编辑器](也可按组合键[Alt+F11]),在“VisulBasic编辑器”中选择[插入]→[添加模块],在代码窗口输入下列函数:Functiontax(incomeAsSingle)AsSingl
3、eSelectCaseincomeCase0To800tax=0Case800.01To1300tax=(income-800)*0.05Case1300.01To2800tax=(income-1300)*0.1+25Case2800.01To5800tax=(income-2800)*0.15+175Case5800.01To20800tax=(income-5800)*0.2+625Case20800.01To40800tax=(income-20800)*0.25+3625Case40800.01To60800tax=(income-40800)*0.3+8625Cas
4、e60800.01To80800tax=(income-60800)*0.35+14625Case80800.01To100800tax=(income-80800)*0.4+21625CaseIs>=100800tax=(income-100800)*0.45+29625CaseIs<0MsgBox"你的工资"&&income&&"输入有误"EndSelectEndFunction我们知道,Excel中函数都有一个说明,帮助使用,我们也要给这个函数添加一个说明。在工具栏中选择“对象浏览器”(如图1),选择我们所做Tax模块,在其[右键]→[属性]中添加关于对这个函数的描述,这
5、个描述将出现在Excel中关于函数的说明中,如果你要对软件保密的话,在“模块”上按右键,[VBAproject属性]→[保护中设置密码],嘿嘿!别人就看不到你的源程序了。图1添加自制函数说明这时,退出,回到Excel界面,将这个文件另存为:类型为“MicrosoftExcel加载宏”,在Excel2000中,它会自动更改保存位置为c:windowsapplicationdatamicrosoftaddins(系统装在c:windows),当然,你也可以把这个文件tax.xla,直接复制到officelibrary(office的安装路径下),而在Excel97中只能
6、放在后一个位置。使用函数很简单,点击[工具]→[加载宏],在你创建的Tax前打个勾,在单元格直接输入“=tax()”,是不是像Microsoftoffice提供的函数一样(如图2),很有点专业味道。图2使用自制函数假如你把调用这个宏的Excel文件拷贝到别的机子上运行,会出现“当前所要打开的文档含有其他文档的链接,是否要使用其他工作簿中的改动更新当前工作簿”的提示,可以显示原先计算的数据,这是因为在Excel中的[工具]→[选项]→[重新计算]中,一般选中“保存外部链接数据”,但你不能重新计算,因为不能链接这个宏,别人机子上根本就没有这个函数。只不过在“加载宏”时,我自己创建的
7、函数,是一个英文标题,而且下面也没有说明(如图3),你是不是觉得有点不够专业。跟我来,再教你一招,如果你使用的是Excel2000时,找到tax.xla,点击[右键]→[属性]→[摘要](如图4),在描述里添加所需内容来对函数进行相关描述,其中“标题”部分将出现在“加载宏”的方框中,“备注”部分将出现在下面的函数说明部分。这时再看看,够不够专业。在Excel97中也可以在其右键属性中作相应更改。图3我的函数好像不够专业图4添加中文描述
此文档下载收益归作者所有