sheets和worksheets的區(qū)別從定義上來(lái)講,worksheets是工作表的一個(gè)集合對(duì)象,而sheets不僅包括工作表對(duì)象,還包括圖表charts,宏工作表macroworksheet等等。在我們學(xué)習(xí)VBA的初級(jí)階段,只需要學(xué)懂worksheets就可以。因此,本文將主要著眼于worksheets對(duì)象來(lái)講解。 worksheets和worksheet的區(qū)別講到這里,大家可能又云里霧里了,不是說(shuō)好了要講worksheets么,怎么還出來(lái)一個(gè)單數(shù)形式? 上面我們也說(shuō)到了,worksheets是一組工作表集合對(duì)象,那工作表又是什么呢? worksheet呀! A哥還有一些小小的體會(huì),worksheet作為單個(gè)對(duì)象,屬性和方法都有兼顧。而worksheets作為集合對(duì)象,更多的是偏向于方法。 worksheet與activesheet如果我們把worksheet再進(jìn)行分類,就可以按照其是否為當(dāng)前活動(dòng)工作表來(lái)區(qū)分。當(dāng)前活動(dòng)的工作表也可以稱為activesheet。 本節(jié),我們就先從單個(gè)的worksheet的屬性和方法學(xué)起,中間也會(huì)穿插一些worksheets的內(nèi)容。 屬性index用于返回worksheet在worksheets集合中的索引號(hào)。號(hào)碼從1開(kāi)始,一直到worksheets的個(gè)數(shù)。 例如,在下圖中,如果使用如下代碼來(lái)獲得sheet4的索引號(hào),會(huì)返回2,因?yàn)樗菑淖筮厰?shù)第二個(gè)。 name這個(gè)就不用問(wèn)了,看英文就知道是worksheet的名稱屬性。同樣,用上圖舉例的話,worksheets(1).name 就是”sheet1”。注意這是一個(gè)字符串。 usedrange用來(lái)獲得worksheet中已經(jīng)被使用的range,返回的是一個(gè)range對(duì)象。之所以沒(méi)有在range里講這個(gè),是因?yàn)閡sedrange一定要配合worksheet來(lái)使用。 activesheet.UsedRange.Select
Selection.Value = 9 使用UsedRange會(huì)得到一個(gè)矩形range,包括所有已經(jīng)使用單元格矩形區(qū)域,以及之間的空白單元格。
實(shí)例化和引用引用談到worksheet的引用,我們必須把worksheets集合拉進(jìn)來(lái)。事實(shí)上,可以這么理解,worksheet的引用就是指定worksheets集合中某個(gè)特定值(如名稱或者索引)的worksheet. 我們常用的引用方法有兩種,名稱法和索引法。 直接使用名稱 worksheets('sheet1') 使用索引號(hào) worksheets(1) Set方法在VBA里,對(duì)于對(duì)象變量的定義,仍然可以使用dim方法。例如: dim wksht as worksheet 定義完變量之后,需要對(duì)對(duì)象變量進(jìn)行實(shí)例化,需要使用set方法 set wksht = worksheets(1) 對(duì)于Excel VBA中所有的對(duì)象來(lái)說(shuō),定義完之后如果要引用都可以用set來(lái)實(shí)例化,實(shí)例化過(guò)后就可以對(duì)其正常使用對(duì)象的方法和屬性了。 wksht.name = 'new_name' 當(dāng)然我們還是可以使用 worksheets(1).name = 'new_name' 但我們明顯可以看出,如果要多次引用這個(gè)工作表,使用set方法定義會(huì)使代碼書(shū)寫(xiě)更加簡(jiǎn)潔,易懂。 總結(jié)
|
|
來(lái)自: L羅樂(lè) > 《跟A哥學(xué)VBA》