excel自定义函数编写方法文档格式.docx
- 文档编号:13552292
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:12
- 大小:1.35MB
excel自定义函数编写方法文档格式.docx
《excel自定义函数编写方法文档格式.docx》由会员分享,可在线阅读,更多相关《excel自定义函数编写方法文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
选中相应的模块点击文件—>
导出文件,就可以存储.bas的源文件。
这样就可以方便存储整理,以便日后引用。
2.宏的概念与VisualBasic根底
有VB编程根底的同学可跳过此章。
宏实际上就是一段用以完成某些功能的源代码,Excel中的宏以VisualBasic〔以后简称VB〕编写,存储后的.bas文件可以用记事本翻开,里面记录的就是编写的代码。
VB是一门高级编程语言,其语法简单易于掌握,适合初学者学习。
本教程中只对VB进展初步讲解,如果需要深入学习请参照VB相关的专门书籍〔VisualBasic编辑器中的帮助也有详细介绍〕。
顺序、选择、循环是编程的三种结构,合理组合嵌套这三种结构就可以解决所有编程问题。
默认情况下,代码按照顺序结构执行,所以下面只介绍选择和循环结构的语句表达。
选择结构:
选择结构非常常见,它的作用是使程序根据条件的不同执行不同的语句。
这里我们只介绍最简单的一种语句。
IfconditionThen[statements][Elseelsestatements]
或者
IfconditionThen
[statements]
[ElseIfcondition-nThen
[elseifstatements]...
[Else
[elsestatements]]
EndIf
注释:
condition:
条件表达式;
statements:
执行语句;
[]中的容为可选容。
第一句为写在一行的选择语句,其表达的意思如英文一样就是“如果……就……否那么……〞,黑体的“If〞“Then〞是关键词必不可少,后面“[]〞中的“Else〞为可选项。
下面的语句为多行表达的形式,要注意回车的位置和结尾处加上“EndIf〞。
还需要注意的是关键字后面一定要加空格或回车。
具体用法将在后文的实例中介绍。
循环结构:
循环结构适合嵌套使用,这里只介绍固定次数循环语句,如需了解条件循环,请参考VB相关书籍。
Forcounter=startToend[Stepstep]
[ExitFor]
Next[counter]
例:
Fori=1To10Step1
…
Nexti
“For〞“To〞“Step〞“ExitFor〞“Next〞都为关键字,其中“For〞“To〞“Next〞必不可少。
以上面例子做为讲解。
例中语句的意思为“使得i首先等于1,然后执行…的容,接着使i自身增加1,再执行…的容,一直到i等于10,最后执行…的容后,停止循环,进入下一条语句〞。
本例中…的容一共执行了10次。
“Step〞后面的数为每次i增加多少,如果不写“Step〞那么默认每次加1。
最后i等于11。
这里的i实际上就是人为定义的一个变量,下面介绍变量的概念。
变量:
变量实际上就是用字母汉字等标识代表一个“数〞,而这个“数〞在计算过程中也是可以变化的〔与常量相反〕,命名的原那么和“数〞的类型,参考VB相关书籍。
这里推荐用字母串或汉字〔不要与VB关键字一样〕命名变量。
下面讲解变量根底知识。
1〕变量的声明:
Dimabc
虽然VB容许不用事先声明变量,但是为了程序易读,在我们使用变量前都要对它进展声明。
上面的语句的意思就是“声明了一个叫做abc的变量〞。
2〕变量的赋值:
abc=10
abc=abc+5
变量赋值不同于方程计算,它的顺序是先计算等号右边表达式的值,然后再赋给等号左边的变量〔等号左边一般情况下只允许是一个变量〕。
上式第一句的意思是“把10赋予变量abc〞。
执行完这句后变量abc的值就是10。
下一句的意思是“先计算等号右边变量abc加5的值,然后再把值赋给变量abc〞。
先计算变量abc加5为15,然后再把15赋给变量abc。
所以最后abc的值是15。
3〕变量的计算:
上面已经提到变量的“+〞运算,需要说明的是等号右边的表达式不仅可以是变量和数的运算,也可以是变量和变量的运算,且变量和数的个数理论上没有限制。
所以我们学过的四那么运算“+〞“-〞“*〞“/〞,还有括号“()〞乘方“^〞等都可以运用〔括号必须是半角英文(),乘方3^5表示35〕。
当然还有其他运算需要大家自学。
4〕变量的比拟:
在选择语句中,“If〞后的条件表达式需要用到比拟,简单的有大于“>
〞、小于“<
〞、等于“=〞、大于等于“>
=〞、小于等于“<
=〞、不等于“<
>
〞。
具体应用见下一章实例。
有了以上的知识我们就可以进展实例的讲解了,但是由于省略了大量VB的容,所以这就要求大家在以后的学习实践中循序渐进地补充VB编程知识。
3.自定义函数实例讲解
例1.
如图我们矩形截面的宽和高,求其惯性矩。
由于矩形惯性矩计算公式为:
由于没有直接的Excel公式计算,所以我们需要自定义函数。
在第一章介绍的模块1的编写环境中输入以下代码,并保存。
FunctionI(b,h)
I=(b*h^3)/12
EndFunction
注意所有符号均为半角英文,实际如上图。
返回Excel界面,鼠标点击C3单元格,点击插入—>
函数,下拉菜单中选择用户定义里面就有刚刚编写的I函数了。
选择后,第一个参量选单元格A3,第二个参量选单元格B3,确定后即可计算出结果,如图。
下拉C3单元格右下角即可得出所有惯性矩。
如图。
下面我们详细讲解一下例1中的代码。
一、三句是声明函数的必要格式,其通用格式为:
Function函数名(参数变量1,参数变量2,…,参数变量n)
……
函数部语句
其中函数名就是我们在Excel中引用这个函数的名字,如上例中用户定义里面的I函数。
参数变量就是我们编写这个函数需要的参数,其名字可以随意起,为了方便上例中就用“b〞和“h〞表示宽和高了。
参数变量可以有多个,也可以没有,类型可以是一个单元格,也可以是多个单元格。
之后会讲到多个单元格参数变量。
第二句“I=(b*h^3)/12〞函数的运算语句,这里的I虽然是函数名,但它也是代表函数值的变量,它的作用就是存储函数值。
等号左边是把从Excel表格中传递来的宽“b〞和高“h〞进展计算得到惯性矩,然后赋值给函数值变量。
这样最后的函数值就是惯性矩了。
例2.
这个例子研究如何判断计算出的惯性矩是否大于500。
新函数可以在原来函数下面书写,代码如下:
Functionover(q)
Ifq>
500Then
over="
是"
Else
否"
应用此函数计算。
在D3处插入函数,取值围选择C3单元格。
确定后,右下角拉下。
代码分析。
函数名为over,只有一个参数变量q,它用来存储上一个函数计算出来的惯性矩〔直接从Excel表中读取〕。
中间的判断语句意思为“如果q大于500那么函数值over为‘是’,否那么函数值over为‘否’〞。
从中可以看到函数值和变量还可以存储字符,但是在代码中一定要用〞〞标出〔英文半角〕。
If和then中间的局部是判断条件,其中经常为逻辑表达式〔请参照VB课程〕。
例3.
统计选中区域大于500的个数。
代码如下:
Functionnum(a)
Dimr
Dimi
num=0
Fori=1Tor
Ifa(i,1)>
500Thennum=num+1
函数名为num,参数变量为a,但是这里的a是一个围,它代表了多个单元格,本例中它代表了一列的单元格〔上图虚线框〕。
Dimr和Dimi定义了两个变量,num=0使得函数值变量初始值为零。
等号右边表示参数变量a的行个数,表达式表示将a的行数赋予r。
为一个循环语句,从i=1一直循环到i=r,循环体中是一个判断语句,a(i,1)表示a的第i行第1列单元格的值,这个语句表示“判断从a第1行第1列单元格到a最末行第1列单元格的值是否大于500,假设大于500,每次循环num自加1。
〞
由于a的围我们只考虑了单列的情况,如果a去为多行多列那么就需要再进展一次循环,代码如下:
Dimj
Dimc
Forj=1Toc
Ifa(i,j)>
Nextj
根底容已经讲完,今后还需大家自学提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- excel 自定义 函数 编写 方法