Excel表格VBA中Activate方法和Select方法的區(qū)別是什么
VBA中的Activate方法和Select方法看起來似乎相同,其實二者是有區(qū)別的。以下是學習啦小編為您帶來的關(guān)于VBA中Activate方法和Select方法的區(qū)別,希望對您有所幫助。
Excel表格VBA中Activate方法和Select方法的區(qū)別
VBA中的Activate方法和Select方法看起來似乎相同,其實二者是有區(qū)別的。Activate方法的作用是激活,而Select方法的作用是選擇。其區(qū)別如下:
1.對于“Sheets”對象
Sheets.Select可以同時選擇多個工作表,而Sheets.Active不能同時激活多個工作表。如下面的語句:
Sub Test1()
ActiveWorkbook.Sheets(Array(1, 2, 3)).Select '可以同時選擇3個工作表
End Sub
Sub Test2()
ActiveWorkbook.Sheets(Array(1, 2, 3)).Activate '不能同時激活3個工作表,出現(xiàn)錯誤
End Sub
另外,對于隱藏的工作表,Sheets.Select方法不能選擇隱藏的工作表,而Sheets.Activate方法可以激活隱藏的工作表。如下面的代碼:
Sub Test3()
ActiveWorkbook.Sheets(2).Visible = False '隱藏工作表
ActiveWorkbook.Sheets(2).Select '無法選擇隱藏的工作表,產(chǎn)生錯誤
End Sub
Sub Test4()
ActiveWorkbook.Sheets(2).Visible = False '隱藏工作表
ActiveWorkbook.Sheets(2).Activate '可以激活隱藏的工作表
End Sub
2.對于“Range”對象
首先說明一下活動單元格和選定區(qū)域:
某個選定的區(qū)域中只能有一個活動單元格,通常活動單元格位于所選區(qū)域的左上角。如下圖我們選擇了A1:G10區(qū)域,A1單元格是高亮顯示的,A1單元格就是活動單元格。當我們用鍵盤進行輸入的時候,鍵入的內(nèi)容將被輸入到活動單元格中。
如果我們要讓區(qū)域中的其他單元格變成活動單元格,可以按Tab鍵,將使區(qū)域中當前活動單元格右方的單元格變?yōu)榛顒訂卧?,而按Shift+Tab則方向相 反;或按Enter鍵,將使區(qū)域中當前活動單元格下方的單元格變?yōu)榛顒訂卧瘢碨hift+Enter則方向相反。
“Range”對象的的Select方法可以選擇一個或多個單元格,而Activate方法可以指定某一個單元格為活動單元格。 如果我們用下面的代碼試圖激活某個區(qū)域:
Range("d4:e5").Activate
Excel將僅僅激活D4單元格,但同時選擇了D4:E5區(qū)域。下面的代碼首先選擇A1:E10區(qū)域,同時激活D4單元格:
Sub test()
Range("a1:e10").Select
Range("d4:e5").Activate
End Sub
而對于下面的代碼:
Sub test()
Range("a1:e10").Select
Range("f11:g15").Activate
End Sub
由于區(qū)域A1:E10和F11:G15沒有公共區(qū)域,將最終選擇F11:G15,并激活F11單元格。
由上可見,當我們要選擇某個區(qū)域時最好用Select方法,而不用Activate方法,否則可能會出現(xiàn)意想不到的錯誤。
猜你喜歡: