|
楼主 |
发表于 2011-4-11 11:57
|
显示全部楼层
本帖最后由 wbzxz 于 2011-4-11 12:05 编辑
二、Offset属性使用示例
Offset使用示例1:单个单元格情况
(1)行偏移量正整数:向下移;列偏移量正整数:向右移。
Range(“B2”).offset(1,1)
单元格向下移1行,向右移1列,得到单元格C3
(2)行偏移量负整数:向上移;列偏移量负整数:向左移。
Range(“B2”).offset(-1,-1)
单元格向上移1行,向左移1列,得到单元格A1
(3)行偏移量、列偏移量为零:原地踏步
Range(“B2”).offset(0,0)
单元格行列均不变化,得到单元格B2
Range(“B2”).offset(0,1)
单元格行无偏移、向右移1列,得到单元格C2
Range(“B2”).offset(1,0)
单元格向下移1行,列无偏移,得到单元B3
(4)行偏移量,列偏移量省略:默认零值
下面这几种情况是结果是一样的
行偏移量、列偏移量参数都省略:Range(“B2”).offset()
列偏移量参数省略:Range(“B2”).offset(0)
行偏移量参数省略:Range(“B2”).offset(,0)
这三种情况和Range(“B2”).offset(0,0)的结果是一样的,都是单元格行列均不变化,得到单元格B2。
Offset使用示例2:多个单元格情况
(1)Range("B2:C3").Offset(1, 1)
单元格”B2:C3”区域整体向下移1行,向右移1列,得到单元格区域”C3:D4”
(2)Range("B2:C3").Offset(-1, -1)
单元格”B2:C3”区域整体向上移1行,向左移1列,得到单元格区域”A1:B2”
(3)Range("B2:C3").Offset(0, 0)
单元格”B2:C3”区域整体原地踏步,得到单元格区域”B2:C3”
(4)Range("B2:C3").Offset(1, 0)
单元格”B2:C3”区域整体向下移1行,列无偏移,得到单元格区域”B3:C4”
(5)Range("B2:C3").Offset(0, 1)
单元格”B2:C3”区域整体行无偏移,向左移1列,得到单元格区域”C2:D3”
(6)以下省略参数情况等价与Range("B2:C3").Offset(0, 0)
Range("B2:C3").Offset(),Range("B2:C3").Offset(, 0), Range("B2:C3").Offset(0)
Offset使用示例3:整列情况
(1)Range("B2").EntireColumn.Offset(0, 1)
单元格区域”B列”整体右移1列,得到单元格”C列”
(2)Range("B2").EntireColumn.Offset(0, -1)
单元格区域”B列”整体右移1列,得到单元格”A列”
(3)以上两个例子可以采用省略写法
Range("B2").EntireColumn.Offset(, -1)
(4)注意下面这写法是错误的
Range("B2").EntireColumn.Offset(1, 1)
Range("B2").EntireColumn.Offset(-1, 1)
当单元格区域是整列时,行偏移量只能是0,或者省略,不能是正整数或负整数,切记
Offset使用示例4:整行情况
整行行情况与整列情况相似,我仅给出正确写法与错误写法,详细代码可以看附件
正确写法:
Range("B2").EntireRow.Offset(1, 0)
Range("B2").EntireRow.Offset(-1, 0)
Range("B2").EntireRow.Offset(1)
错误写法:
Range("B2").EntireRow.Offset(1, 1)
Range("B2").EntireRow.Offset(-1, 1)
当单元格区域是整行时,列偏移量只能是0,或者省略,不能是正整数或负整数,切记
|
评分
-
查看全部评分
|