選擇工作表的方法
在VBA中需要激活或者選擇某個工作表時使用Select方法或Activate方法,如下面的代碼所示。
#001 Sub SelectSh()
#002 Worksheets("Sheet2").Select
#003 End Sub
#004 Sub ActivateSh()
#005 Worksheets("Sheet2").Activate
#006 End Sub
代碼解析:
SelectSh過程使用Select方法選擇“Sheet2”工作表,而ActivateSh過程則使用Activate方法選擇“Sheet2”工作表,從表面看兩者的作用是相同的,但是如果“Sheet2”工作表是隱藏的,Activate方法可以正常運行,而Select方法將會出現錯誤,如圖 22?1所示。
圖 22?1 Select方法無效提示
如果需要同時選中工作簿中的所有工作表,則只能使用Select方法而不能使用Activate方法,如下面的代碼所示。
#001 Sub SelectShs()
#002 Dim Shs As Worksheet
#003 For Each Shs In Worksheets
#004 Shs.Select False
#005 Next
#006 End Sub
#007 Sub SelectSheets()
#008 Worksheets.Select
#009 End Sub
#010 Sub ArraySheets()
#011 Worksheets(Array(1, 2, 3)).Select
#012 End Sub
代碼解析:
SelectShs過程遍歷工作表并使用帶參數的Select方法選中所有工作表。應用于Worksheet對象的Select方法的語法如下:
Select(Replace)
參數Replace是可選的。如果該值為True,則用指定對象替代當前選定對象。如果該值為False,則延伸當前選定對象以包括任何以前選定的對象。
SelectSheets過程使用Worksheets集合的Select方法選中集合中所有的對象。
ArraySheets過程使用Array 函數返回工作簿中的前三張工作表并使用Worksheets集合的Select方法選中前三張工作表。