Dzwebs.Net

撰写电脑技术杂文十余年

Excel编程基础之VBA其他错误语句及过程和函数介绍

Admin | 2008-4-3 12:33:37 | 被阅次数 | 10752

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

一:其他类语句和错误语句处理

  一.其他循环语句

  结构化程序使用以上判断和循环语句已经足够,建议不要轻易使用下面的语句,虽然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 num:Exit 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         ‘结果是12、112,y1按地址传递改变了值,而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比较重要组成,技术比较复杂,可以参考相关书籍。


该杂文来自: Excel杂文

上一篇:Excel编程基础之VBA变量常量定义及各种语句介绍

下一篇:Excel编程基础之VBA内部函数介绍

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计