ImageVerifierCode 换一换
格式:DOCX , 页数:82 ,大小:612.62KB ,
资源ID:3026991      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3026991.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子表格VBA编程计算速成.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子表格VBA编程计算速成.docx

1、电子表格VBA编程计算速成前 言作为一个科技工作者,经常要进行许多复杂的计算工作。尽管电子表格具有非常强大的计算功能,但对于复杂的计算,却一直找不到合适的进入方案。一个偶然的灵动,使我闯入了电子表格VBA编程计算的大门。至此,再复杂的计算也都迎刃而解了,而且通过电子表格VBA编程实现复杂专业计算的自动化。我想:把这一心得(探索的轨迹)整理出来,对经常需要进行各种复杂计算的朋友们,也许会有很大的帮助,至少可以缩短一些探索的路程。要在电子表格这个平台上实现各个不同专业的复杂计算的自动化,最主要的是要学会用VBA编程将专业计算公式、过程编制成电子表格和VBA里没有的专业函数;掌握电子表格单元格及区域

2、的公式输入,数据引用,复制、填充、编辑;学会编写响应事件(主要是命令按钮和自定义菜单的鼠标事件)的过程。有了这“三斧子”,再复杂计算的自动化也搞定了。不用担心英语不行,代码搞不清楚,请跟我来做,您很快就会成为电子表格VBA编程专业计算的行家里手。为了帮助像我这样的初学者快速入门,叙述的体例以实例为主线,在实例中穿插VBA基本编程语言的解说,步步深入,举一反三,每项成果可复制、可再生、可扩展,这样很快就能入门、入境了。入了门,路就宽广了,也就可以各显神通了。如果我们广大的科技工作者普遍掌握了电子表格VBA编程计算技能,将极大地提高工作的时效,从而腾出更多的宝贵时间去做更多有益的事情,其社会经济效

3、益是极其可观的。人生的目的不就是有益社会,造福人民,强我中华吗!鉴于此,我将把我的“电子表格VBA编程计算速成”分六章择要发布,供需要和有兴趣的朋友们参考。抛砖引玉,望各路高手不吝赐教。第一章 电子表格专业函数编程第二章 学习VBA编程基础第三章 常用VBA编程代码语句第四章 电子表格计算编程第五章 作一个起动封面第六章 帮助文件制作电子表格VBA编程计算速成(1)第一章电子表格专业函数编程1.1 如何把“度.分秒”角度变成弧度?在Excel 中,自带了大量的商务、办公标准函数,唯独没有把“度.分秒”角度变成“弧度”和将“弧度”转换为“度.分秒”或“ ”这样的专业计算函数。在测绘、工程、科学计

4、算中,这经常是一个无法回避的问题。怎么办?打开Excel,选择“工具”“宏”“Visual Basic编辑器”“帮助”“Visual Basic语言参考”“语句”“A-L” “Function”,就可以详细看到编写函数“Function”的相关语法:Public | Private | Friend Static Function name (arglist) As typestatementsname = expressionExit Function statementsname = expressionEnd FunctionFunction 语句的语法包含下面部分:部分描述Public

5、可选的。表示所有模块的所有其它过程都可访问这个 Function 过程。如果是在包含 Option Private 的模块中使用,则这个过程在该工程外是不可使用的。Private可选的。表示只有包含其声明的模块的其它过程可以访问该 Function 过程。Friend可选的。只能在类模块中使用。表示该 Function 过程在整个工程中都是可见的,但对于对象实例的控制者是不可见的。Static可选的。表示在调用之间将保留 Function 过程的局部变量值。Static 属性对在该 Function 外声明的变量不会产生影响,即使过程中也使用了这些变量。name必需的。Function 的名称

6、;遵循标准的变量命名约定。arglist可选的。代表在调用时要传递给 Function 过程的参数变量列表。多个变量应用逗号隔开。type可选的。Function 过程的返回值的数据类型,可以是 Byte、 Boolean 、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(除定长)、Object、Variant或任何用户定义类型。statements可选的。在 Function 过程中执行的任何语句组。expression可选的。Function 的返回值。其中的 arglist 参数的语法以及语法各个部分如下:O

7、ptional ByVal | ByRef ParamArray varname( ) As type = defaultvalue部分描述Optional可选的。表示参数不是必需的。如果使用了该选项,则 arglist 中的后续参数都必须是可选的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Optional 声明。ByVal可选的。表示该参数按值传递。ByRef可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项。ParamArray可选的。只用于 arglist 的最后一个参数,指明最后这个参数是一个

8、Variant 元素的 Optional 数组。使用 ParamArray 关键字可以提供任意数目的参数。ParamArray 关键字不能与 ByVal,ByRef,或 Optional 一起使用。varname必需的。代表参数的变量的名称;遵循标准的变量命名约定。type可选的。传递给该过程的参数的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object 或 Variant。如果参数不是 Optional,则也可以是用户定义类型,或对象类型。defau

9、ltvalue可选的。任何常数或常数表达式。只对于 Optional 参数时是合法的。如果类型为 Object,则显式缺省值只能是 Nothing。说明如果没有使用 Public、Private 或 Friend 显式指定,则 Function 过程缺省为公用。如果没有使用 Static,则局部变量的值在调用之后不会保留。Friend 关键字只能在类模块中使用。但 Friend 过程可以被工程的任何模块中的过程访问。Friend 过程不会在其父类的类型库中出现,且 Friend 过程不能被后期绑定。小心 Function 过程可以是递归的;也就是说,该过程可以调用自己来完成某个特定的任务。不过

10、,递归可能会导致堆栈上溢。通常 Static 关键字和递归的 Function 过程不在一起使用。所有的可执行代码都必须属于某个过程。不能在另外的 Function、Sub 或 Property 过程中定义 Function 过程。Exit Function 语句使执行立即从一个 Function 过程中退出。程序接着从调用该 Function 过程的语句之后的语句执行。在 Function 过程的任何位置都可以有 Exit Function 语句。Function 过程与 Sub 过程的相似之处是: Function 过程是一个可以获取参数,执行一系列语句,以及改变其参数值的独立过程,而与子

11、过程不同的是:当要使用该函数的返回值时,可以在表达式的右边使用 Function 过程,这与内部函数,诸如 Sqr、Cos 或 Chr 的使用方式一样。在表达式中,可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用一个 Function 过程。请参阅 Call 语句关于如何调用 Function 过程的详细说明。要从函数返回一个值,只需将该值赋给函数名。在过程的任意位置都可以出现这种赋值。如果没有对 name 赋值,则过程将返回一个缺省值:数值函数返回 0,字符串函数返回一个零长度字符串 (),Variant 函数则返回Empty。如果在返回对象引用的 Function 过程中没有将

12、对象引用赋给 name (通过 Set),则函数返回 Nothing。下面的示例说明如何给一个名为 BinarySearch 的函数赋返回值。在这个示例中,将 False 赋给了该函数名,表示没有找到某个值。Function BinarySearch(. . .) As Boolean. . . 值未找到,返回一个 False 值。 If lower upper Then BinarySearch = False Exit Function End If. . .End Function在 Function 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变

13、量(使用 Dim 或等效方法)都是局部变量。对于那些没有在过程中显式声明的变量,除非它们在该过程外更高级别的位置有显示地声明,否则也是局部的。小心 过程可以使用没有在过程内显式声明的变量,但只要有任何在模块级别中定义的名称与之相同,就会产生名称冲突。如果过程中使用的未声明的变量与另一个过程,常数,或变量的名称相同,则会认为过程使用的是模块级的名称。显式声明变量就可以避免这类冲突。可以使用 Option Explicit 语句来强制显式声明变量。小心 Visual Basic 可能会重新安排数学表达式以提高内部效率。若 Function 过程会改变某个数学表达式中变量的值,则应避免在此表达式中使

14、用该函数。Function 语句示例该示例使用 Function 语句来声明 Function 过程的名称、参数、以及构成 Function 过程主体的代码。最后一个例子中使用了确定类型的、初始化的 Optional 参数。下面的用户自定义函数返回它的参数的平方根。Function CalculateSquareRoot(NumberArg As Double) As Double If NumberArg 0 Then 评估参数。 Exit Function 退出调用过程。 Else CalculateSquareRoot = Sqr(NumberArg) 返回平方根。 End IfEnd

15、Function使用 ParamArray 关键字可以使函数接收数目可变的参数。在下面的定义中,FirstArg 是按值传递的。Function CalcSum(ByVal FirstArg As Integer, ParamArray OtherArgs()Dim ReturnValue 如果用如下代码调用该函数:ReturnValue = CalcSum(4, 3 ,2 ,1)则局部变量被赋予以下值:FirstArg = 4,OtherArgs(1) = 3,OtherArgs(2) = 2,等等。假设缺省数组下界 = 1。Optional 参数可以带缺省值,可以是除 Variant 之外的任何类型。如果函数的参数定义如下:Function MyFunc(MyStr As String, Optional MyArg1 As _ Integer = 5, Optional MyArg2 = Dolly) Dim RetVal则可用如下代码调用该函数:RetVal =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1