|
還記得上期我們給大家介紹過(guò)的Excel VBA的Application(Excel程序本身)對(duì)象和 Workbook(工作?。?duì)象嗎?怎么樣,挺有收獲的吧。那這一期我們繼續(xù)來(lái)學(xué)習(xí)Excel VBA中的另外兩個(gè)非常重要的對(duì)象:WorkSheet(工作表)對(duì)象和Range對(duì)象。 三、WorkSheets、Worksheet對(duì)象及其應(yīng)用 WorkSheets(工作表對(duì)象集)是Workbook的下一層對(duì)象集,它包含最多255個(gè)工作表(Worksheet)對(duì)象。引用工作對(duì)象的方法有兩種: MsgBox Worksheets("sheet2").Name MsgBox Worksheets(3).Name 前一種方法是使用工作表名“sheet2”來(lái)引用的,后一種方法是使用工作表在工作薄中的位置(即索引號(hào))來(lái)引用的。 常用的Worksheets對(duì)象和Worksheet對(duì)象的屬性和方法有:ActiveSheet(活動(dòng)工作表)屬性、Name(名稱)屬性、Visible(隱藏)屬性、Select(選定)方法、Copy(復(fù)制)和Move(移動(dòng))方法、Paste(粘貼)方法、Delete(刪除)方法以及Add(添加)方法等等。 1、ActiveSheet屬性可用于活動(dòng)工作表的引用,下面的代碼可激活工作表Sheet3并預(yù)覽該工作表: Worksheets("sheet3").Activate ActiveSheet.PrintPreview 2、Name屬性用于返回指定工作表對(duì)象的名字。如將工作表sheet1的標(biāo)簽名改為“工資表”: Worksheets("sheet1").Name = "工資表" 3、Visible屬性用來(lái)顯示和隱藏指定工作表對(duì)象,值為true時(shí)(默認(rèn))工作表可見,False時(shí)不可見。如隱藏倒數(shù)第2張工作表對(duì)象: Worksheets(Sheets.Count - 1).Visible = False 4、Select方法用于工作表對(duì)象的選定。VBA操作中經(jīng)常會(huì)遇到在不同的工作表間傳遞數(shù)據(jù)的操作,此時(shí)可反復(fù)使用Select方法來(lái)選中不同的工作表對(duì)象。 5、Copy和Move方法用來(lái)復(fù)制和移動(dòng)指定的單元格區(qū)域或工作表對(duì)象。如復(fù)制工作表sheet2到所有工作表的最后以及移動(dòng)工作表Sheet3到所有工作表的最前面的代碼分別如下: Worksheets("sheet2").Copy after:=Worksheets(Sheets.Count) Worksheets("sheet3").Move before:=Worksheets(1) 這里需要說(shuō)明的是:用Worksheets(1)比用Worksheets("sheet1")要好一些,因?yàn)橛袝r(shí)sheet1的位置可能不在所有工作表的最前面。 6、Paste方法用于將剪貼板中的數(shù)據(jù)粘貼到指定的工作表中。如復(fù)制工作表sheet1中的A列數(shù)據(jù)到sheet2的D列中。 Worksheets("sheet1").Range("A:A").Copy ActiveSheet.Paste Destination:=Worksheets("sheet2").Range("D:D") 7、Delete方法用于刪除指定的工作表對(duì)象。需要注意的是系統(tǒng)在刪除工作表時(shí)會(huì)出現(xiàn)警告提示要求用戶確認(rèn)是否刪除,如果不希望出現(xiàn)此提示框,可使用“Application.DisplayAlerts = False”語(yǔ)句屏蔽該提示框的顯示。 8、Add方法用于向工作薄中添加工作表對(duì)象,最后一次添加的工作表將成為活動(dòng)工作表。下面的語(yǔ)句可一次向工作薄中添加三張工作表并且放在所有工作表的最后。 Worksheets.Add Count:=3, after:=Worksheets(Sheets.Count) 四、Range對(duì)象及其應(yīng)用 Range(單元格或單元格區(qū)域)是Worksheet的下一層對(duì)象,它可以是某個(gè)單元格(Cell)、某一行(Row)、某一列(Column)或多個(gè)連續(xù)或不連續(xù)的單元格區(qū)域?qū)ο?,熟練地使用這些對(duì)象可以方便地操作工作表中的其它對(duì)象和數(shù)據(jù)。 Range對(duì)象的屬性和方法主要有:Cells(單元格)屬性、UsedRange(已使用的單元格區(qū)域)屬性、Formula(公式)屬性、Name(單元格區(qū)域名稱)屬性、Value(值)屬性、Autofit(自動(dòng)行高列寬)方法、Clear(清除所有內(nèi)容)方法、ClearContents(清除內(nèi)容)方法ClearFormats(清除格式)方法、Delete(刪除)方法以及Copy(復(fù)制)、Cut(剪切)、Paste(粘貼)等方法。 1、Cells屬性用于指定單元格區(qū)域中的某個(gè)單元格對(duì)象,可用Cells(i,j)來(lái)表示,其中i表示行號(hào),j表示列號(hào),如“Cells(2,3)= 20”表示給單元格C2賦值為20。 2、UsedRange屬性用來(lái)表示指定工作表中已使用的單元格區(qū)域?qū)ο蟆H绻x中當(dāng)前活動(dòng)工作表中的單元格區(qū)域可使用下面的代碼: ActiveSheet.UsedRange.Select 在循環(huán)語(yǔ)句中經(jīng)常要用到已有數(shù)據(jù)區(qū)域的最大行數(shù)或列數(shù)就可以用UsedRange.Rows.Count或UsedRange.Columns.Count來(lái)實(shí)現(xiàn)。 3、Formula屬性可用來(lái)向指定的單元格對(duì)象中輸入公式。Excel中函數(shù)的功能非常強(qiáng)大,編程時(shí)可充分使用這些函數(shù)來(lái)提高程序運(yùn)行的效率,下面的例子就是向單元格C1中輸入公式“=sum(a1:b1)”: Range("c1").Formula = "=sum(a1:b1)" 如果要向單元格中返回一個(gè)數(shù)組公式則可以使用FormulaArray屬性。 4、Name屬性用來(lái)為一個(gè)單元格或單元格區(qū)域?qū)ο蠖x名稱。下面的例子就是將單元格區(qū)域A1:A20命名為“IDname”:
Range("A1:A20").Name = "IDname" 5、Value屬性用來(lái)給某個(gè)單元格或單元格區(qū)域賦值。下面的代碼可一次性給A1:F1中的所有單元格賦值為“合格”: Range("A1:F1").Value = "合格" 通常情況下,Value可以省略,即可直接使用“Range("A1:F1") = "合格"”。 6、Autofit方法可自動(dòng)調(diào)整單元格的行高和列寬為最合適的值。下面的兩行代碼可將第1行到100行以及A列到H列調(diào)整到最合適的行高和列寬。 ActiveSheet.Columns("a:h").AutoFit ActiveSheet.Rows("1:100").AutoFit 7、Clear、ClearComments、ClearContents和ClearFormats等方法分別用來(lái)清除單元格區(qū)域中的所有內(nèi)容、批注、內(nèi)容和格式,可根據(jù)需要選擇相應(yīng)的清除的方法。 Range(Cells(1, 1), Cells(5, 5)).ClearContents Range("A1:E5").ClearFormats 前一句代碼清除的是A1:E5之間的數(shù)據(jù)(不清除格式),后一句代碼清除的是A1:E5之間的格式(保留數(shù)據(jù)),如果要清除單元格區(qū)域中的所有內(nèi)容(含數(shù)據(jù)和格式以及批注等)則需要選擇Clear方法。 8、Delete方法用于刪除指定的單元格或單元格區(qū)域?qū)ο蟆H鐒h除A1:E5間的單元格: Range("A1:E5").Delete 在需要注意的是:Delete方法在刪除數(shù)據(jù)的同時(shí)刪除單元格本身,而Clear方法只用于清除單元格中的內(nèi)容,但并不刪除單元格本身。 除了上面介紹的這些屬性和方法,另外Range對(duì)象還具有Copy(復(fù)制)、Cut(剪切)、Paste(粘貼)以及單元格的格式設(shè)置等方法,這些方法的使用與前面介紹過(guò)的工作表對(duì)象的方法在很大程度上是類似的,各位讀者朋友可自行嘗試并操作實(shí)踐。 一口氣學(xué)完了Excel VBA中的四個(gè)對(duì)象以及它們的簡(jiǎn)單的應(yīng)用,相信大家已經(jīng)入門了,繼續(xù)努力噢,Excel中的對(duì)象的屬性和方法遠(yuǎn)不止上面所介紹的這些,如果要想獲取更多的詳細(xì)信息大家可參閱Excel VBA的聯(lián)機(jī)幫助以及關(guān)注我們后面陸續(xù)給大家準(zhǔn)備的專題。 |
|
|
來(lái)自: hcghcg909 > 《excel技術(shù)》