VBA基础

一:变量与常量

  1:VBA允许使用未定义的变量,默认是变体变量。

  2:在模块通用说明部份,加入Option Explicit 语句可以强迫用户进行变量定义。

  3:变量定义语句及变量作用域

  Dim 变量名 as 类型 '定义为局部变量,如 Dim ebookit as integer
  Private 变量名 as 类型 '定义为私有变量,如 Private ebookit as byte
  Public 变量名 as 类型 '定义为公有变量,如 Public ebookit as single
  Global 变量名 as 类型 '定义为全局变量,如 Globlal ebookit as date
  Static 变量名 as 类型 '定义为静态变量,如 Static ebookit as double

一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。

4:常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。如下定义:Const Pi=3.1415926 as single

二:判断语句

  1:If…Then…Else语句
  If condition Then [statements][Else elsestatements]
  如①:If A>B And C<D Then A=B+2 Else A=C+2
  如②:If x>250 Then x=x-100
  或者,可以使用块形式的语法:

  If condition Then
   [statements]
   [ElseIf condition-n Then
    [elseifstatements] ...
   [Else
    [elsestatements]]
  End If

  如1:
  If Number < 10 Then
   Digits = 1
  ElseIf Number < 100 Then
   Digits = 2
  Else
   Digits = 3
  End If

  2:Select Case…Case…End Case语句
  如1:
   Select Case Pid
    Case “A101”
    Price=200
    Case “A102”
    Price=300
    ……
    Case Else
    Price=900
   End Case

  3:Choose 函数
  choose(index, choce-1,choice-2,…,choice-n),可以用来选择自变量串列中的一个值,并将其返回,index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间。choice 必要参数,Variant表达式,包含可选择项目的其中之一。

  如:
  GetChoice = Choose(Ind, "Speedy", "United", "Federal")

  4:Switch函数
  Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]])
switch函数和Choose函数类似,但它是以两个一组的方式返回所要的值,在串列中,最先为TRUE的值会被返回。 expr 必要参数,要加以计算的 Variant 表达式。value 必要参数。如果相关的表达式为 True,则返回此部分的数值或表达式,没有一个表达式为 True,Switch 会返回一个 Null值。

三:循环语句

  1:For Next语句 以指定次数来重复执行一组语句
  For counter = start To end [Step step] ' step 缺省值为1
    [statements]
    [Exit For]
    [statements]
  Next [counter]
  如1:
  For Words = 10 To 1 Step -1 ' 建立 10 次循环
    For Chars = 0 To 9 ' 建立 10 次循环
    MyString = MyString & Chars ' 将数字添加到字符串中
    Next Chars ' Increment counter
    MyString = MyString & " " ' 添加一个空格
  Next Words

  2:For Each…Next语句 主要功能是对一个数组或集合对象进行,让所有元素重复执行一次语句
  For Each element In group
    Statements
   [Exit for]
    Statements
  Next [element]

  如1:
  For Each rang2 In range1
   With range2.interior
   .colorindex=6
   .pattern=xlSolid
   End with
  Next
  这上面一例中用到了 With…End With 语句,目的是省去对象多次调用,加快速度;语法为:
  With object
   [statements]
  End With

  3:Do…loop语句 在条件为true时,重复执行区块命令

  Do {while |until} condition ' while 为当型循环,until为直到退出循环条件
    Statements
    Exit do
    Statements
  Loop

  或者使用下面语法
  Do ' 先do 再判断
   Statements
   Exit do
   Statements
  Loop {while |until} condition
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值