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---