欢迎来到天天文库
浏览记录
ID:52884137
大小:1001.00 KB
页数:86页
时间:2020-03-31
《电子表格VBA编程计算速成1-4.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、电子表格VBA编程计算速成(1)第一章 电子表格专业函数编程1.1如何把“度.分秒”角度变成弧度?在Excel中,自带了大量的商务、办公标准函数,唯独没有把“度.分秒”角度变成“弧度”和将“弧度”转换为“度.分秒”或“ °′″”这样的专业计算函数。在测绘、工程、科学计算中,这经常是一个无法回避的问题。怎么办?打开Excel,选择“工具”→“宏”→“VisualBasic编辑器”→“帮助”→“VisualBasic语言参考”→“语句”→“A-L”→“Function”,就可以详细看到编写函数“Function”的相关语法:[Public
2、Private
3、Friend][Static]Funct
4、ionname[(arglist)][Astype][statements][name=expression][ExitFunction][statements][name=expression]EndFunction Function语句的语法包含下面部分:部分描述Public可选的。表示所有模块的所有其它过程都可访问这个Function过程。如果是在包含OptionPrivate的模块中使用,则这个过程在该工程外是不可使用的。Private可选的。表示只有包含其声明的模块的其它过程可以访问该Function过程。Friend可选的。只能在类模块中使用。表示该Function过程在整个工程
5、中都是可见的,但对于对象实例的控制者是不可见的。Static可选的。表示在调用之间将保留Function过程的局部变量值。Static属性对在该Function外声明的变量不会产生影响,即使过程中也使用了这些变量。name必需的。Function的名称;遵循标准的变量命名约定。arglist可选的。代表在调用时要传递给Function过程的参数变量列表。多个变量应用逗号隔开。type可选的。Function过程的返回值的数据类型,可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(除定
6、长)、Object、Variant或任何用户定义类型。statements可选的。在Function过程中执行的任何语句组。expression可选的。Function的返回值。其中的arglist参数的语法以及语法各个部分如下:[Optional][ByVal
7、ByRef][ParamArray]varname[()][Astype][=defaultvalue]部分描述Optional可选的。表示参数不是必需的。如果使用了该选项,则arglist中的后续参数都必须是可选的,而且必须都使用Optional关键字声明。如果使用了ParamArray,则任何参数都不能使用Optional声明。
8、ByVal可选的。表示该参数按值传递。ByRef可选的。表示该参数按地址传递。ByRef是VisualBasic的缺省选项。ParamArray可选的。只用于arglist的最后一个参数,指明最后这个参数是一个Variant元素的Optional数组。使用ParamArray关键字可以提供任意数目的参数。ParamArray关键字不能与ByVal,ByRef,或Optional一起使用。varname必需的。代表参数的变量的名称;遵循标准的变量命名约定。type可选的。传递给该过程的参数的数据类型;可以是Byte、Boolean、Integer、Long、Currency、Single、Do
9、uble、Decimal(目前尚不支持)、Date、String(只支持变长)、Object或Variant。如果参数不是Optional,则也可以是用户定义类型,或对象类型。defaultvalue可选的。任何常数或常数表达式。只对于Optional参数时是合法的。如果类型为Object,则显式缺省值只能是Nothing。说明如果没有使用Public、Private或Friend显式指定,则Function过程缺省为公用。如果没有使用Static,则局部变量的值在调用之后不会保留。Friend关键字只能在类模块中使用。但Friend过程可以被工程的任何模块中的过程访问。Friend过程不会
10、在其父类的类型库中出现,且Friend过程不能被后期绑定。小心Function过程可以是递归的;也就是说,该过程可以调用自己来完成某个特定的任务。不过,递归可能会导致堆栈上溢。通常Static关键字和递归的Function过程不在一起使用。所有的可执行代码都必须属于某个过程。不能在另外的Function、Sub或Property过程中定义Function过程。ExitFunction语句使执行立即从一个Fun
此文档下载收益归作者所有