电竞比分网-中国电竞赛事及体育赛事平台

分享

[轉(zhuǎn)載]Excel中的VBA對(duì)象及其應(yīng)用之二

 hcghcg909 2015-09-11

還記得上期我們給大家介紹過(guò)的Excel VBAApplicationExcel程序本身)對(duì)象和 Workbook(工作?。?duì)象嗎?怎么樣,挺有收獲的吧。那這一期我們繼續(xù)來(lái)學(xué)習(xí)Excel VBA中的另外兩個(gè)非常重要的對(duì)象:WorkSheet(工作表)對(duì)象和Range對(duì)象。

三、WorkSheetsWorksheet對(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ì)象。

5CopyMove方法用來(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ù)到sheet2D列中。

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.CountUsedRange.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"              

5Value屬性用來(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

7Clear、ClearComments、ClearContentsClearFormats等方法分別用來(lái)清除單元格區(qū)域中的所有內(nèi)容、批注、內(nèi)容和格式,可根據(jù)需要選擇相應(yīng)的清除的方法。

Range(Cells(1, 1), Cells(5, 5)).ClearContents

Range("A1:E5").ClearFormats

前一句代碼清除的是A1E5之間的數(shù)據(jù)(不清除格式),后一句代碼清除的是A1E5之間的格式(保留數(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)備的專題。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多