一:變量與常量
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
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