Hi,大家好,本專欄將會從零開始和大家用圖文的方式,讓你從零基礎學會VBA!有興趣的小夥伴可以持續關注我,或者在專欄中進行查看自我學習,願與君攜手前行!
在上節已經講述了range和cells的使用方法,其實這個range的擴展使用方法還有很多,現在一一為您分享!
Part-01 使用快捷方式表示單元格
在 VBA 中可以將某個單元格的引用樣式或命名區域名稱使用方括號【】括起來,作為 Range 屬性的快捷寫法,這樣就不必鍵入單詞「Range」或使用引號,如下面的代碼所示。
#001 Sub Fastmark()
#002 [A1:A5] = 2
#003 [Fast] = 4
#004 End Sub
PS:使用快捷寫法需要注意的是引用單元格區域時只能使用固定字符串而不能使用變量。
Part-02 使用 Offset 屬性來操縱單元格
在操縱Range 對象的時候,可以根據需要來選擇使用 Offset 屬性返回一個基於引用的 Range 對象的單元格區域,如下面的代碼所示。
#001 Sub Offset()
#002 Range("A1:C3").Offset(3, 3).Select
#003 End Sub
代碼解析: Offset 過程使用 Range 對象的 Offset 屬性選中 A1:A3 單元格偏移三行三列後的區域。
Part-03 使用 Resize 屬性來表示要操縱單元格的大小
在需要調整Range對象的大小的時候,可以選擇使用的Resize屬性調整指定區域的大小,並返回調整大小後的單元格區域, 如下面的代碼所示。
#001 Sub Resize()
#002 Range("A1").Resize(3, 3).Select
#003 End Sub
代碼解析: Resize 過程使用 Range 對象的 Resize 屬性選中 A1 單元格擴展為三行三列後的區域。代碼執行的結果如下所示:
PS:如下所示為resize的使用屬性方式,有興趣的小夥伴可以了解一哈!
Part-04使用 Union 方法控制單元格區域
在操縱單元格區域的時候,我們可以使用 Union 方法可以將多個非連續區域連接起來成為一個區域,從而可以實現對多個非連續區域一起進行操作,如下面的代碼所示。
#001 Sub UnSelect()
#002 Union(Sheet5.Range("A1:D4"), Sheet5.Range("E5:H8")).Select
#003 End Sub
代碼解析: UnSelect 過程選擇單元格 A1:D4 和 E5:H8 所組成的區域。
PS:Union 方法返回兩個或多個區域的選擇,需要注意的是,這個中間至少要包括2個區域,否則會報錯,使用語法如下:
Part-05 使用 UsedRange 屬性來選中已經使用的單元格區域
當我們每次不確定單元格區域大小的時候,我們可以選擇使用UsedRange屬性返回指定工作表上已使用單元格組成的區域,如下面的代碼所示。
#001 Sub UseSelect()
#002 UsedRange.Select
#003 End Su
代碼解析:
UseSelect 過程使用 UsedRange 屬性選擇工作表上已使用單元格組成的區域,包括空單元格。這個在我們後續的應用是十分廣泛的,這是非常好用的一個方法。
Part-06 使用 CurrentRegion 屬性來確定連續單元格區域
其實這個和上面的UsedRange稍有不同的,從集合大小來說,UsedRange> =CurrentRegio.也就是說我們使用這2個的方法,來操縱的單元格區域大小並不是都一樣大的,相對而言使用 CurrentRegion 屬性返回指定工作表上當前的已經使用並且連續的區域,如下面的代碼所示。
#001 Sub CurrentSelect()
#002 Range("A5").CurrentRegion.Select
#003 End Sub
代碼解析:
CurrentSelect 過程使用 CurrentRegion 屬性選擇工作表上 A5 單元格當前的區域,當前區域是一個邊緣是任意空行和空列組合成的範圍。
可能有很多小夥伴會把他們兩個弄混淆,現在我們在詳細說下他們的不同之處。具體詳細解釋對照如下:
currentregion只的是連續單元格組成的矩形區域,除了邊界的單元格,一般單元格有8個相鄰單元格,(下圖中紅線區域)
usedrange是當前工作表已經使用的單元格組成的矩形區域,設置格式也屬於已經使用(下圖中的藍色線區域)
好啦!快樂的時間總是非常短暫的,又到了和大家說再見的時候,如果大家感覺本文如果對你有所幫助的話,請幫忙轉發點讚,謝謝您能觀看到現在,我們下期再見!
我是Excel教案,關注我持續分享更多的Excel技巧!
如果有不明白的或者不懂的可以在下方留言,我們會一一解答的。