Range物件和Worksheet物件都有Select(選定)和Activate(啟用)方法。其區別和聯絡如下:
一、從功能上來說,Select代表選定物件,Activate代表啟用物件。
二、從數量上來說,Select可以選定多個物件,Activate只能啟用一個物件。
三、對於單個物件,Select和Activate是一樣的。
四、Activate的物件必定在Select物件之中。當選定了多個物件時,其中某個物件必定是啟用的物件。在已經Select的物件中,可以任意指定Activate的物件。如果Activate了當前Select物件之外的物件,則相當於重新執行了一次Select並激活。
五、在每次重新Select之後,則系統會自動Activate其中的某個物件。
可以參考以下程式碼來體會之間的區別。
Sub Select和Activate的區別()
On Error Resume Next
Range("A1:A3").Select
MsgBox "執行了Range(""A1:A3"").Select語句!" & vbCrLf & "當前選定了A1:A3"
Range("A2").Activate
MsgBox "執行了Range(""A2"").Activate語句!" & vbCrLf & "當前激活了A2。在選定的物件中,啟用的物件可以切換。"
Range("B1").Activate
MsgBox "執行了Range(""B1"").Activate語句!" & vbCrLf & "當前激活了B1,相當於重新選定了B1"
Range("B2").Select
MsgBox "執行了Range(""B2"").Select語句!" & vbCrLf & "當前激活了B2,對於單個物件,選定和啟用是相同的"
Range("A1:A3").Activate
MsgBox "執行了Range(""A1:A3"").Activate語句!" & vbCrLf & "語句會發生錯誤。無法同時啟用A1:A3。相當於僅執行了一次選定。"
Range("A3:B3").Select
MsgBox "執行了Range(""A3:B3"").Select語句!" & vbCrLf & "重新選定了A3:B3。當前啟用的物件變為A3"
End Sub
Range物件和Worksheet物件都有Select(選定)和Activate(啟用)方法。其區別和聯絡如下:
一、從功能上來說,Select代表選定物件,Activate代表啟用物件。
二、從數量上來說,Select可以選定多個物件,Activate只能啟用一個物件。
三、對於單個物件,Select和Activate是一樣的。
四、Activate的物件必定在Select物件之中。當選定了多個物件時,其中某個物件必定是啟用的物件。在已經Select的物件中,可以任意指定Activate的物件。如果Activate了當前Select物件之外的物件,則相當於重新執行了一次Select並激活。
五、在每次重新Select之後,則系統會自動Activate其中的某個物件。
可以參考以下程式碼來體會之間的區別。
Sub Select和Activate的區別()
On Error Resume Next
Range("A1:A3").Select
MsgBox "執行了Range(""A1:A3"").Select語句!" & vbCrLf & "當前選定了A1:A3"
Range("A2").Activate
MsgBox "執行了Range(""A2"").Activate語句!" & vbCrLf & "當前激活了A2。在選定的物件中,啟用的物件可以切換。"
Range("B1").Activate
MsgBox "執行了Range(""B1"").Activate語句!" & vbCrLf & "當前激活了B1,相當於重新選定了B1"
Range("B2").Select
MsgBox "執行了Range(""B2"").Select語句!" & vbCrLf & "當前激活了B2,對於單個物件,選定和啟用是相同的"
Range("A1:A3").Activate
MsgBox "執行了Range(""A1:A3"").Activate語句!" & vbCrLf & "語句會發生錯誤。無法同時啟用A1:A3。相當於僅執行了一次選定。"
Range("A3:B3").Select
MsgBox "執行了Range(""A3:B3"").Select語句!" & vbCrLf & "重新選定了A3:B3。當前啟用的物件變為A3"
End Sub