You are on page 1of 4

Array() 函數

若需要快速產生出一個一維陣列,可以使用 Array() 函數:


Dim ary As Variant 若要用 Array 函數,被指定的變數要宣告成 Variant
ary = Array(1, "ABC", True)
Range("A1:C1").Value = ary

Transpose 函數
aryT = Application.WorksheetFunction.Transpose(ary)
如果要將陣列貼到 worksheet 上後發現都是陣列第一個值,通常都是忘了用
transpose

3-5-10 用 Split 切割字串轉成 Array

Split (分割的字串 , 分隔符號)


Dim myArray() As String
For I = 1 To 4
myArray = Split ( Cells ( j ,1), “ , “ ) ‘將 Split 出來的結果指派給 myArray()

Split 搭配 換行符號 Chr(10)


my Array = Split (Range(“A1”), Chr(10))
以換行符號當作分隔符號作 split

3-5-11 用 Join 把㇐維陣列各元素連接成字串

Join (一維陣列,分隔符號)

3-5-12 用 InputBox 讓使用者輸入字串


按取消會回傳空字串
3-5-13 用 Application.InputBox 限定使用者輸入的資料型態
Application.InputBox (Prompt:=訊息, Title:=標題, Default:=預設值, Type:=資料
型態)
按取消會回傳 False,可用 TypeName 確認若回傳是 Boolean 的 True 則表示
按下取消

3-7-4 怎樣表示集合中的某個物件

Application.Workbooks("Book1").Worksheets("Sheet2").Range("A2")
Application 對象代表 Excel 程式,是 VBA 對象的最頂層
Workbooks 是活頁簿"集合",代表"全部"打開的活頁簿
"Book1"是活頁簿的名稱,用來確定要使用集合中哪一個活頁簿
Worksheets 是工作表的"集合",代表指定活頁簿中的所有工作表
不同級別的物件之間用"."來連接,點"."等同"的"的意思

從上而下,但也可以直接用最底層 Range("A2")

3-7-5 屬性就是物件包含的內容或具有的特徵

每個物件都有屬性

3-7-6 物件和屬性是相對的

有的物件相對於上層的物件是屬性
可以將滑鼠移到程式碼上面按 F1

3-7-7 方法就是在物件上執行的某個動作或操作

3-8 連接資料的橋樑,VBA 運算子

3-8-1 算術運算子

"\" 兩數相除得到的整數
"Mod" 兩數相除的餘數
"^" 指數次方

5/2 = 2.5
5\2 = 2
5^3 = 125
12 Mod 9 = 3

3-8-2 比較運算子

"<>" 不等於
"Is" 比較兩個物件的引用變數 物件 1 Is 物件 2 當物件 1 和物件 2 引用相同
的物件時返回 true
"Like" 比較兩個字串是否匹配 字串 1 Like 字串 2 當匹配時返回 True

ex. Range("B2") Like "李*"


"*"是萬用字元,代替任意多個字元,"李*"代表以"李"開頭的任意字串

VBA 萬用字元

* 代替任意多個字元 "李家君" Like "*家*" = True


? 代替任意單個字元 "李佳君" Like "李??" = True
# 代替任意的單個數字 "商品 5" Like "商品#" = True
[charlist] 代替位於 charlist 中的任一一個字元 "K" Like "[A-Z]"=True
[!charlist] 代替不在 charlist 中的任意一個字元 "I" Like "[H-J]"=False

3-8-3 文字運算子

ex. Dim a As String, b As String


c= a + b
d= a & b // 如果都是字串 type,則用+或用&都一樣

3-8-4 邏輯運算子

And
Or
Not
Xor "異或" 運算式 1 和運算式 2 返回的值不一樣回傳 True
Eqv "等價"
一樣回傳 True
Imp "蘊含"

3-9 內置函數

3-9-1 函數就是預先定義好的計算

例如 time()
可以在程式碼區域打 VBA 產生下拉選單
IF
SUM
MATCH
Time :直接呼叫會回傳當下的時間

3-10 基本語句結構

3-10-1 Select...Case

You might also like