Excel VBA入門的基礎語句
選擇當前活動的工作簿:
vate
如果選擇其他工作簿,注意該工作簿一定是打開的,並且不要忘記加上後綴“” ,例如:
Windows("")vate
選擇一個工作表:
Sheets("Balance")vate.
選擇單元格:
Range("A1")ct
選擇連續的單元格:
Range("A1:G8")ct
選擇不連續的單元格:
Range("A1,B6,D9")ct
Range("A1,B6:B10,D9")ct
單元格間移動:
et(13, 14)ct
et(-3, -4)ct
Range("G8")et(-3, -4)ct
注意:你可以定義一變量,並且用offset來實現,例如:
varFreightRowsCount = Range("A1")t
et(varFreightRowsCount, 0)ct
選擇整個工作表:
ct
選擇當前單元格所在的區域(遇到空行/空列即止):
Range("A1")ct
選擇行或列:
Rows("1")ct
Columns("A")ct
或者:
ct
ct
選擇相鄰的多行/多列:
Columns("A:C")ct
Rows("1:5")ct
選擇不相鄰的多行/多列(注意:和選擇相鄰的多行/多列不同,使用"Range"而不是"Columns/Rows":)
Range("A:A, C:C, E:F")ct
Range("1:1,5:6,9:9")ct
選擇當前活動單元格向下至最後一個非空單元格:
Range("A1", Range("A1")(xlDown))ct
Range(ActiveCell, (xlDown))ct
選擇當前活動單元格向上至第一個非空單元格:
Range("A32", Range("A32")(xlUp))ct
Range(ActiveCell, (xlUp))ct
選擇當前活動單元格向右至第一個非空單元格。(注意:是 "xlTORight"而不是 "xlRight" )
Range("A1", Range("A1")(xltoRight))ct
Range(ActiveCell, (xltoLeft))ct
選擇當前活動單元格向右至第10個單元格。
Range("A2", Range("A2")et(0, 10))ct
Range(ActiveCell, et(0, 10))ct
選擇當前活動單元格向左至第10個單元格。
Range("A20", Range("A20")et(0, -10))ct
Range(ActiveCell, et(0, -10))ct
選擇當前活動單元格向下至第10個單元格。
Range("a2", Range("a2")et(10, 0))ct
Range(ActiveCell, et(10, 0))ct
選擇當前活動單元格向上至第10個單元格。
Range("A1")(xlDown)et(1, 0)ct
選擇該行中第一個空單元格:
Range("A1")(xltoRight)et(0,1)ct
改變區域的大小(由 A1:B5 變為 A1:D10):(注意:改區域並不是向外擴張,而是重新定義了。即 "ze(10, 4)ct "而不是"ze(5, 2)ct "
Excel的宏不能記錄移至當前行的.第一個單元格的動作(即你按下“Home”鍵的動作),下面的語句則可以做到:
et(0, mn + 1)ct
移至當前列的第一個單元格:
et( + 1,0)ct
如果只有一個條件及一個動作,你可以用以下語句:
If e > 10 Then
et(1,0) = 100
End If
或者更簡單的:
If e > 10 Then et(1,0) = 100
如果有兩個條件及兩個動作,你可以用下面的語句:
If e > 10 Then
If e = 12 Then
et(1,0) = 100
End If
et(1,0) = 20
End If
當有雙重條件(並存的條件)和一個動作時,你可以用下面的語句:
If e = 10 And et(0,1)e = 20 Then
et(1,0) = 100
End If
當有雙重條件(可選擇的條件)和一個動作時,你可以用下面的語句:
If e = 10 Or et(0,1)e = 20 Then
et(1,0) = 100
End If
當只有一個條件和兩個動作時,你可以用下面的語句:
If e > 10 Then
et(1,0) = 100
Else
et(1,0) = 0
End If
當有不止一個條件,且每個條件都跟隨不同的動作時,你可以用下面的語句:
If e = 1 Then
et(1, 0) = 10
ElseIf e = 2 Then
et(1, 0) = 20
ElseIf e = 3 Then
et(1, 0) = 30
ElseIf e = 4 Then
et(1, 0) = 40
ElseIf e = 5 Then
et(1, 0) = 50
End If
當你不得不測試很多條件,你可以用Select Case 語句來代替If If 。語法如下:
Sub test()
Select Case e
Case Is >= 85
et(0, 1) = "A"
Case Is >= 75
et(0, 1) = "B"
Case Is >= 65
et(0, 1) = "C"
Case Is >= 50
et(0, 1) = "D"
Case Else
et(0, 1) = "F"
End Select
End Sub
這段語句的意思就是:如果所選單元格的值大於85時,則其右邊那個單元格的值為“A”…… 所選單元格的值小於50時,其右邊那個單元格的值為“F” 。