论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
摘要:excel是大家非常熟悉的应用软件,其使用非常方便。尤其是其强大的函数功能,为我们带来了极大方便,但有时我们为实现一项规定的功能,可能用到几个函数或者采用嵌套函数,这样应用起来,也不太方便;或者使用自定义公式进行计算,就没有现成的公式可用。可喜的是,我们可以创建自定义函数udf(user—defined function),它的运行与excel中自带的函数完全相同。建立自定义函数有以下几个优点:建立自己特殊的功能和名称的函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力,使用、维护更加方便。
关键词:函数 水质 应用
excel是大家非常熟悉的应用软件,其使用非常方便。尤其是其强大的函数功能,为我们带来了极大方便,但有时我们为实现一项规定的功能,可能用到几个函数或者采用嵌套函数,这样应用起来,也不太方便;或者使用自定义公式进行计算,就没有现成的公式可用。可喜的是,我们可以创建自定义函数udf(user—defined function),它的运行与excel中自带的函数完全相同。建立自定义函数有以下几个优点:建立自己特殊的功能和名称的函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力,使用、维护更加方便。
比如在水质计算中,高锰酸盐指数的计算公式非常繁琐,而且含必须将结果修约至0.1,还得考虑逢5奇进偶舍的问题。利用计算器逐步计算很是麻烦;在excel中利用单元格引用计算稍有不注意,可能造成计算上差错,而且每次都得建立,很不方便。现在我们利用excel自带的vba编辑器建立自己的函数来解决这个问题。
首先进入excel,在[工具]→[宏]→[visul basic编辑器](也可按组合键[alt+f11]),在“visul basic编辑器”中选择[插入]→[添加模块],将模块名称改为“高锰酸盐指数浓度计算公式”,在代码窗口输入下列函数:
public function cimn(c as single, v0 as single, v1 as single, v2 as single, v as integer)
'高锰酸盐指数计算公式
dim dotlocation as integer '定义小数点位置变量
'*************************************************************************
cimn = ((((10 + v1) * 10 / v2 - 10) - (((10 + v0) * 10 / v2 - 10) * (100 - v) / 100))) * c * 8000 / v
'*************************************************************************
'保留一位小数
'当cimn值小于1时,自动补上个位0
if cimn < 1 then
cimn = 0 & cimn
end if
'确定小数点的位置
dotlocation = instr(cimn, ".")
'判断小数点后第二位是否为5
if mid(cimn, dotlocation + 2, 1) = 5 then
if len(cimn) <= dotlocation + 2 and mid(cimn, dotlocation + 1, 1) mod 2 = 0 then
cimn = left(cimn, dotlocation + 1) '为5且5后没有数和5前一位为偶数,直接用round()函数修约
else
cimn = round(cimn, 1)
end if
else
cimn = round(cimn, 1) '不为5,直接用round()函数修约
end if
cimn = format(round(cimn, 1), "#0.0")
end function
我们知道,excel中函数都有一个说明用以帮助使用,我们也要给这个函数添加一个说明。在工具栏中选择“对象浏览器”(如图1),选择我们所做“高锰酸盐指数浓度计算公式”模块,在其[右键]→[属性]中添加关于对这个函数的描述,这个描述将出现在excel中关于函数的说明中,如果你要对软件保密的话,在“模块”上按右键,[vbaproject属性]→[保护中设置密码],别人就看不到你的源程序了。
这时,退出,回到excel界面,将这个文件另存为:类型为“microsoft excel加载宏”,在excel 2003中,它会自动更改保存位置为“c:documents and settingswzwemc(电脑用户名)application datamicrosoftaddins” (系统装在c:\windows),当然,你也可以把这个文件“高锰酸盐指数浓度计算公式.xla”,直接复制到office\library(office的安装路径下),而在excel 97中只能放在后一个位置。使用函数很简单,点击[工具]→[加载宏],在你创建的“高锰酸盐指数浓度计算公式”前打个勾,如图2。在单元格直接输入“=cimn()”,选中相应的参数即可(如图3)。是不是像microsoft office提供的函数一样,很有点专业味道。
共2页: 1
论文出处(作者):