選擇工作表的方法
在VBA中需要激活或者選擇某個(gè)工作表時(shí)使用Select方法或Activate方法,如下面的代碼所示。
#001 Sub SelectSh()
#002 Worksheets("Sheet2").Select
#003 End Sub
#004 Sub ActivateSh()
#005 Worksheets("Sheet2").Activate
#006 End Sub
代碼解析:
SelectSh過(guò)程使用Select方法選擇“Sheet2”工作表,而ActivateSh過(guò)程則使用Activate方法選擇“Sheet2”工作表,從表面看兩者的作用是相同的,但是如果“Sheet2”工作表是隱藏的,Activate方法可以正常運(yùn)行,而Select方法將會(huì)出現(xiàn)錯(cuò)誤,如圖 22?1所示。
圖 22?1 Select方法無(wú)效提示
如果需要同時(shí)選中工作簿中的所有工作表,則只能使用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過(guò)程遍歷工作表并使用帶參數(shù)的Select方法選中所有工作表。應(yīng)用于Worksheet對(duì)象的Select方法的語(yǔ)法如下:
Select(Replace)
參數(shù)Replace是可選的。如果該值為True,則用指定對(duì)象替代當(dāng)前選定對(duì)象。如果該值為False,則延伸當(dāng)前選定對(duì)象以包括任何以前選定的對(duì)象。
SelectSheets過(guò)程使用Worksheets集合的Select方法選中集合中所有的對(duì)象。
ArraySheets過(guò)程使用Array 函數(shù)返回工作簿中的前三張工作表并使用Worksheets集合的Select方法選中前三張工作表。