最近在看歷史書,到了很多國家兼并擴張的故事,很多地方你爭我奪,不亦樂乎。如果說國家的擴張源于君主的野心和利益,那Excel單元格的擴張呢?
我們可以使用Resize屬性將單元格或單元格區(qū)域擴大,看看下面的例子。
語句:
Range(“A1”).Select
選擇單元格A1。這在前面的文章中已介紹過。
下面的語句:
Range(“A1”).Resize(1, 3).Select
選擇單元格區(qū)域A1:C1。即將單元格從A1擴大到A1:C1區(qū)域,向右增加了2個單元格,占據(jù)1行3列。
下面的語句:
Range(“A1”).Resize(2, 3).Select
選擇單元格區(qū)域A1:C2。即將單元格從A1擴大到A1:C2區(qū)域,向右且向下共增加了5個單元格,占據(jù)2行3列。
上述語句的運行結果如下圖所示。

仔細看一下,單元格區(qū)域沒有擴大,而是縮小了。可以看出,Resize屬性并不是以單元格區(qū)域整體為起始來擴張的,而是以單元格區(qū)域左上角的單元格為起始單元格并包括該單元格,向右擴張第1個參數(shù)值指定的列數(shù),向下擴張第2個參數(shù)值指定的行數(shù)。
因此,代碼:
Range(“B2:E5”).Resize(3,2).Select
等價于:
Range(“B2”).Resize(3, 2).Select
對上文所述的內容進行小結,可得出下面的結論:
無論Resize屬性前面的單元格對象是單個單元格,還是單元格區(qū)域,都是以左上角的單元格為起始并包括該單元格來進行擴張。
擴張后單元格區(qū)域的行列數(shù)就是Resize屬性的參數(shù)所指定的數(shù)值,即第1個參數(shù)指定了最終單元格區(qū)域的行數(shù),第2個參數(shù)指定了最終單元格區(qū)域的列數(shù)。
如果省略了第1個參數(shù),則僅向右擴張單元格區(qū)域列;如果省略了第2個參數(shù),則僅向下擴張單元格區(qū)域行。
此外,Resize屬性的參數(shù)不能為負,即不能向上或向左擴展。這與Offset屬性不同。
Resize屬性的語法為:
Range對象.Resize(RowSize,ColumnSize)
擴展特定的單元格,返回一個由參數(shù)RowSize和ColumnSize指定行列數(shù)的單元格區(qū)域。
其中:
參數(shù)RowSize指定新單元格區(qū)域的行數(shù)。若省略該參數(shù),則新單元格區(qū)域的行數(shù)與原來相同。
參數(shù)ColumnSize指定新單元格區(qū)域的列數(shù)。若省略該參數(shù),則新單元格區(qū)域的列數(shù)與原來相同。
在上文中,我們對單元格區(qū)域B2:E5使用Resize屬性,指定的參數(shù)分別為3和2,結果單元格區(qū)域縮小了。如果你想要確保單元格區(qū)域只會擴大,那么可以使用下面的代碼:
Sub ResizeRange1()
‘聲明變量,代表行列數(shù)
Dim lRowNumber As Long, lColumnNumber AsLong
‘獲取單元格區(qū)域B2:E5的行數(shù)和列數(shù)
lRowNumber = Range(“B2:E5”).Rows.Count
lColumnNumber =Range(“B2:E5”).Columns.Count
‘將單元格區(qū)域B2:E5向右擴展1列,向下擴展1行,得到區(qū)域B2:F6
Range(“B2:E5”).Resize(lRowNumber+ 1, lColumnNumber + 1).Select
End Sub
運行代碼后,將單元格區(qū)域B2:E5擴展為區(qū)域B2:F6。
進一步優(yōu)化代碼,使用對象變量來代替單元格區(qū)域:
Sub ResizeRange2()
‘聲明變量,代表行列數(shù)
Dim lRowNumber As Long, lColumnNumber AsLong
‘聲明變量,代表單元格或單元格區(qū)域
Dim rng As Range
‘給對象變量賦值
Set rng = Range(“B2:E5”)
‘獲取單元格區(qū)域的行數(shù)和列數(shù)
lRowNumber = rng.Rows.Count
lColumnNumber = rng.Columns.Count
‘將單元格區(qū)域向右擴展1列,向下擴展1行
rng.Resize(lRowNumber + 1, lColumnNumber +1).Select
End Sub
這樣,只需改變對象變量rng的賦值,就可以對其所代表的區(qū)域進行相應的擴展。






