4 VBA range物件和range屬性的常見使用方法整理
1 與range物件位置有關的屬性
(1)range.row : 該Range左上角單元格的行號
(2)range.column:該range左上角單元格的列號
(3)range.address : 該range各個對角頂點的絕對引用地址$
注意:當range包含多個矩形區域的時候,row和column只返回其中某一個矩形的左上角位置,並不一定是整個range的左上角!
比如:range(“D3:E4,A1:B2“)的Row和column,返回的可能是第三行第四列,而並不是第一行第一列
2 與range物件範圍有關的屬性
(1)range.count :該range中的單元格數量。
特別注意:
01 range物件由多個矩形構成的時候,各矩形互相重疊的單元格會被重複計算。
02 count計算的其實是物件而非單元格的個數,而且當數量太大時候回覆發生
# 溢位錯誤 所以計算單元格數量的最安全方法是:
range.cells.countLarg
(2) range.rows:容納了該Range中的每一行。可以使用Range.rows(n)得到一個新的range物件,代表位於該區域第n行的所有單元格。
## 注意:
如果range是由多個舉行區域構成,rows只代表其中某一個矩形區域的所有行。
# rows.count(注意:不是rows(n).count),代表range的rows集合中一共有多少個元素,即該range一共有多少行。
(3)range.columns:容納了該range中的每一列。
# 可以使用:
range.columns(n)得到一個新的range物件。
代表位於該區域第n列的所有單元格。
# 使用range.columns.count得到總列數。
特別注意:如果range是由多個舉行區域構成,columns只代表其中某一個矩形區域的所有列。
(4) 使用過的範圍
所有表格的行總數activesheet.cells.rows.count
使用過的: activesheet.usedrange.raws.count
(5) 獲取range的最後一行的行數
sub findlastrow()
dim r as range,i&
'r為物件
set r=activesheet.usedrange
i=r.row+r.rowS.count-1
msgbox "最後一行是" “ & i”
end sub
(6) 獲取某一列資料的行數
Range("B4", Range("B4").End(xldown)).Select
Direction XlDirection 型別,必需。所要移動的方向。
XlDirection 可為 XlDirection 常量之一。
xlDown
xlToRight
xlToLeft
xlUp
二、End(xlUp).Row示例
本示例選定包含單元格 B4 的區域中 B 列頂端的單元格。
Range("B4").End(xlUp).Select
本示例選定包含單元格 B4 的區域中第 4 行尾端的單元格。
Range("B4").End(xlToRight).Select