1. 程式人生 > >4 VBA range物件和range屬性的常見使用方法整理

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