Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • 如何用ado操作Excel
  • 用Excel制作公交向导
  • Excel中 BASIC ..
  • Excel如何计算表达式
  • 金额转换的代码
  • Excel成绩分析处理程序

最新文章

  • Excel VBA编辑语句..
  • 【技巧】excel文件破解..
  • 【Excel VBA】Fi..
  • 实用的GET函数
  • 日期改为显示星期几的自定义..
  • VBA在Excel 200..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > Excel技巧 > Excel开发编程
Excel开发编程

创建自己的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编辑器”中选择[插入]→[添加模块],在代码窗口输入下列函数:

access数据库
图1添加自制函数说明

  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属性]→[保护中设置密码],嘿嘿!别人就看不到你的源程序了。

access数据库
图2使用自制函数

  这时,退出,回到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),很有点专业味道。

access数据库
图3我的函数好像不够专业

  假如你把调用这个宏的Excel文件拷贝到别的机子上运行,会出现“当前所要打开的文档含有其他文档的链接,是否要使用其他工作簿中的改动更新当前工作簿”的提示,可以显示原先计算的数据,这是因为在Excel中的[工具]→[选项]→[重新计算]中,一般选中“保存外部链接数据”,但你不能重新计算,因为不能链接这个宏,别人机子上根本就没有这个函数。

access数据库
图4添加中文描述

  只不过在“加载宏”时,我自己创建的函数,是一个英文标题,而且下面也没有说明(如图3),你是不是觉得有点不够专业。跟我来,再教你一招,如果你使用的是Excel 2000时,找到tax.xla,点击[右键]→[属性]→[摘要] (如图4),在描述里添加所需内容来对函数进行相关描述,其中“标题”部分将出现在“加载宏”的方框中,“备注”部分将出现在下面的函数说明部分。这时再看看,够不够专业。在Excel 97中也可以在其右键属性中作相应更改。
  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中关于函数的说明中,如果你要对软件


(VBA-相关文章技巧链接):
EXCEL TOOLS 加载宏!(VB制作)
发布人:郑如定-excelhome  
分享到:
点击次数:  更新时间:2005-02-11 09:29:52  【打印此页】  【关闭】
上一条:Excel成绩分析处理程序  下一条:用Excel制作公交向导



相关文章

  • • Excel VBA编辑语句集300条
  • • 【技巧】excel文件破解密码
  • • 【Excel VBA】FileDialog 用法之 打开对话框获得文件夹路径
  • • 实用的GET函数
  • • 日期改为显示星期几的自定义涵数
  • • VBA在Excel 2000中的应用一例
  • • ActiveX在Excel中的运用
  • • 检查重复字段值的方法

热门文章

  • [2005-02-11] Excel成绩分析处理程序access数据库
  • [2013-08-20] 【技巧】excel文件破解密码access数据库
  • [2004-09-27] 不打开EXCEL文件的前提下读取数据的方法之一access数据库
  • [2005-02-04] 如何获取 EXCEL 的一些环境路径access数据库
  • [2005-02-04] EXCEL如何用代码设置宏的快捷键access数据库
  • [2005-02-04] EXCEL离开单元格得时候数值自动*100access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn