登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

玄雨

一花一世界,一叶一菩提。

 
 
 

日志

 
 

【引用】VBA语言基础-3  

2012-01-14 11:49:45|  分类: 电脑 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自bene《VBA语言基础-3》

第十节 其他类语句和错误语句处理

一.其他循环语句

结构化程序使用以上判断和循环语句已经足够,建议不要轻易使用下面的语句,虽然VBA还支持。

1)      Goto line 该语句为跳转到line语句行

2)      On expression gosub destinatioinlist 或者 on expression goto destinationlist 语句为根据 exprssion表达式值来跳转到所要的行号或行标记

3)      Gosub line…line…Return语句, Return 返回到 Gosub line行,如下例:

Sub gosubtry()

Dim num

Num=inputbox(“输入一个数字,此值将会被判断循环”)

If num>0 then Gosub Routine1 Debug.print numExit sub

Routine1:

Num=num/5

Return

End sub

4)      while…wend语句,只要条件为TRUE,循环就执行,这是以前VB老语法保留下来的,如下例:

while condition                                                ‘while I<50

[statements]                                                    ‘I=I+1

wend                                                              ‘Wend

二.错误语句处理

执行阶段有时会有错误的情况发生,利用On Error语句来处理错误,启动一个错误的处理程序。语法如下:

On Error Goto Line            当错误发生时,会立刻转移到line行去

On Error Resume Next                         当错误发生时,会立刻转移到发生错误的下一行去

On Erro Goto 0                                                当错误发生时,会立刻停止过程中任何错误处理过程

第十一节 过程和函数

过程是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。VBA具有四种过程:Sub 过程、Function函数、Property属性过程和Event事件过程。

一.Sub过程

Sub 过程的参数有两种传递方式:按值传递(ByVal)和按地址传递(ByRef)。如下例:

Sub password (ByVal x as integer, ByRef y as integer)

If y=100 then y=x+y else y=x-y

x=x+100

End sub

Sub call_password ()

Dim x1 as integer

Dim y1 as integer

x1=12

y1=100

Call password (x1,y1)          调用过程方式:1. Call 过程名(参数1, 参数2…) ; 2. 过程名 参数1, 参数2…

debug.print x1,y1                  结果是12112y1按地址传递改变了值,而x1按值传递,未改变原值

End sub

二.Function函数

函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。参数传递也两种:按值传递(ByVal)和按地址传递(ByRef)。如下例:

Function password(ByVal x as integer, byref y as integer) as boolean

If y=100 then y=x+y else y=x-y

x=x+100

if y=150 then password=true else password=false

End Function

Sub call_password ()

Dim x1 as integer

Dim y1 as integer

x1=12

y1=100

if password then           调用函数:1. 作为一个表达式放在=右端 ; 2. 作为参数使用

debug.print x1              

    end if

End sub

三.Property属性过程和Event事件过程

这是VB在对象功能上添加的两个过程,与对象特征密切相关,也是VBA比较重要组成,技术比较复杂,可以参考相关书籍。

  评论这张
 
阅读(97)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018