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
發佈了192 篇原創文章 · 獲贊 28 · 訪問量 163萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章