网页功能:
加入收藏
设为首页
网站搜索
编程QQ群
2024年11月22日 星期五
首页
编程论坛
技术文档
黑客安全
源代码
应用下载
电子图书
电脑硬件
游戏开发
休闲娱乐
编程网站
注册
登录
帮助
编程开发论坛
»
软件应用
»
办公软件
» 创建自己的Excel函数
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
创建自己的Excel函数
月上西楼
高级程序员
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2007-8-25 11:58
只看该作者
创建自己的Excel函数
Excel的强大函数功能,为我们带来了极大方便,虽然它有200多个函数,但有时我们为实现一项规定的功能,可能用到几个函数或者采用嵌套函数,这样应用起来,也不太方便。其实对于我们经常用到的功能,我们可以创建自定义函数UDF(User—defined function),它的运行与Excel中自带的函数完全相同。建立自定义函数有以下几个优点:建立自己特殊的功能和名称的函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力。
比如现在我们要根据收入来计算个人收入调节税,按照规定每月收入减去800元基础后,除去养老保险金、失业保险金、医疗保险金、住房公积金、工会费,对剩下的余额征收个税。余额在500元内的征收余额的5%,余额为500~2000元的征收余额的10%,余额为2000~5000元的征收余额的15%……征收个税的最高税率为45%(余额在10万元以上的)。如果用Excel的函数,则要进行多层if嵌套,稍有不注意,可能造成计算上差错,我们建立自己的函数来解决这个问题。
首先进入Excel,在[工具]→[宏]→[Visul Basic编辑器](也可按组合键[Alt+F11]),在“Visul Basic编辑器”中选择[插入]→[添加模块],在代码窗口输入下列函数:
Function tax(income As Single) As Single
Select Case income
Case 0 To 800
tax = 0
Case 800.01 To 1300
tax = (income - 800) * 0.05
Case 1300.01 To 2800
tax = (income - 1300) * 0.1 + 25
Case 2800.01 To 5800
tax = (income - 2800) * 0.15 + 175
Case 5800.01 To 20800
tax = (income - 5800) * 0.2 + 625
Case 20800.01 To 40800
tax = (income - 20800) * 0.25 + 3625
Case 40800.01 To 60800
tax = (income - 40800) * 0.3 + 8625
Case 60800.01 To 80800
tax = (income - 60800) * 0.35 + 14625
Case 80800.01 To 100800
tax = (income - 80800) * 0.4 + 21625
Case Is >= 100800
tax = (income - 100800) * 0.45 + 29625
Case Is < 0
MsgBox "你的工资 " && income && " 输入有误"
End Select
End Function
我们知道,Excel中函数都有一个说明,帮助使用,我们也要给这个函数添加一个说明。在工具栏中选择“对象浏览器”(如图1),选择我们所做Tax模块,在其[右键]→[属性]中添加关于对这个函数的描述,这个描述将出现在Excel中关于函数的说明中,如果你要对软件保密的话,在“模块”上按右键,[VBAproject属性]→[保护中设置密码],嘿嘿!别人就看不到你的源程序了。
图1 添加自制函数说明
这时,退出,回到Excel界面,将这个文件另存为:类型为“Microsoft Excel 加载宏”,在Excel 2000中,它会自动更改保存位置为c:\windows\application data\microsoft\addins(系统装在c:\windows),当然,你也可以把这个文件tax.xla,直接复制到office\library(office的安装路径下),而在Excel 97中只能放在后一个位置。使用函数很简单,点击[工具]→[加载宏],在你创建的Tax前打个勾,在单元格直接输入“=tax()”,是不是像Microsoft office提供的函数一样(如图2),很有点专业味道。
图2 使用自制函数
假如你把调用这个宏的Excel文件拷贝到别的机子上运行,会出现“当前所要打开的文档含有其他文档的链接,是否要使用其他工作簿中的改动更新当前工作簿”的提示,可以显示原先计算的数据,这是因为在Excel中的[工具]→[选项]→[重新计算]中,一般选中“保存外部链接数据”,但你不能重新计算,因为不能链接这个宏,别人机子上根本就没有这个函数。
图3 我的函数好像不够专业
只不过在“加载宏”时,我自己创建的函数,是一个英文标题,而且下面也没有说明(如图3),你是不是觉得有点不够专业。跟我来,再教你一招,如果你使用的是Excel 2000时,找到tax.xla,点击[右键]→[属性]→[摘要] (如图4),在描述里添加所需内容来对函数进行相关描述,其中“标题”部分将出现在“加载宏”的方框中,“备注”部分将出现在下面的函数说明部分。这时再看看,够不够专业。在Excel 97中也可以在其右键属性中作相应更改。
图4 添加中文描述
UID
6179
帖子
309
精华
0
积分
2958
阅读权限
50
在线时间
50 小时
注册时间
2007-5-11
最后登录
2008-3-7
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
版块跳转 ...
> 程序开发
> Visual Basic
> Visual C++
> Delphi
> Visual C#
> Java
> C++Builder
> 其他语言
> 网站开发与设计
> ASP
> PHP
> JSP
> Python
> 脚本语言
> HTML/CSS
> 平面设计
> Flash
> 其他问题
> 数据库技术
> PowerBuilder
> Foxpro
> SQL Server
> Oracle
> MySQL
> 其他数据库
> 操作系统
> Windows
> Linux
> Unix
> BSD
> Solaris
> 安全防护
> 杀毒专区
> 安全配制
> 工具介绍
> 防火墙
> 黑客入侵
> 漏洞检测
> 破解方法
> 软件应用
> 办公软件
> 系统工具
> 网络应用
> 音乐视频
> QQ专区
> MSN专区
> 分类信息
> 产品展示
> 求职招聘
> 项目合作
> 房屋信息
> 教育培训
> 交友约会
> 跳蚤市场
> 企业信息
> 职场创业
> 企业招聘专区
> 产品展示
> 培训信息
> 电脑硬件
> 最新硬件
> 选购技巧
> DIY乐园
> 硬件诊所
> 笔记本
> 数码玩家
> 手机玩家
> MP3随身听
> DC/DV
> 游戏开发
> 单机游戏
> 竞技游戏
> 魔兽争霸
> 星际争霸
> 反恐精英
> FIFA
> 极品飞车
> 实况足球
> 网络游戏
> 魔兽世界
> 天龙八部
> 传奇
> 大话西游
> 奇迹
> 武林外传
> 征途
> 灌水乐园
> 文艺茶座
> 历史文化
> 影音娱乐
> 数码贴图
> 活动聚会
> 车友之家
> 意见建议
> 版权举报
> 站务管理
控制面板首页
编辑个人资料
积分记录
公众用户组
基本概况
流量统计
客户软件
发帖量记录
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计