No.1
vba编程中经常遇到对某些单元格进行选择,也就是确定活动单元格的方法。
这个很有必要,根据Excel的工作原理,第一步要确定单元格对象,然后才进行数据计算。
那么如何实现第一步,确定单元格区域呢?
下面具体介绍一个选择区域的属性:Offset
Offset属性是对象Range之下的一个基本属性。
其有两个参数,如下图:
No.2
一个参数:RowOffset表示行偏移量,ColumnOffse表示列偏移量。
如:
Range("A1").Offset(1, 0).Select
表示选择A2单元格。
Range("A1").Offset(0, 1).Select
表示选择B1单元格。
如果参数为0,也可以省略不写。
如:
Range("A1").Offset(,1).Select
特别注意的是,如果省略第一个参数要加“,”号,第二个参数省略,可不写“,”号。
Range("A1").Offset(1).Select
No.3
下面为例,将数据表除表头之外的单元格,全部选择。
其中,用到另一个属性Resize,这个属性是重新定义区域的一功能。
如下代码:
Private Sub SelectSheet()
Dim s As Worksheet
Set s = ThisWorkbook.ActiveSheet
Dim R As Range, Rx As Range
Set R = s.UsedRange
Set Rx = R.Offset(2, 0).Resize(R.Rows.Count - 2, R.Columns.Count)
'选择第三行开始到最后一行的所有单元格
Rx.Select
End Sub
No.4
严格意义上,Offset属性是一个横向和纵向偏移的选择方法,从偏移量从0开始,0表示基准单元,1、2、3....依次为第1、2、3...行或1、2、3...列。
如:
set R=Range("A1").Offset(0,3)
对象R就代表A1向右偏移3列,也就是D1单元格。
set R=Range("A1").Offset(3,0)
对象R就代表A1向下偏移3行,也就是A4单元格。
可以具体写代码自己体会。
至于Resize属性,在另一篇文章将做具体介绍。
欢迎关注、收藏。
---END---