VBA学习笔记之Range.Offset属性

'Range.Offset 属性
'返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。
'表达式.Offset(偏移行, 偏移列)
'表达式 一个代表 Range 对象的变量。
'偏移行列的数字可以是:正数,负数,零值

 1 Sub test()
 2 [a1].Offset(1, 2).Select    '行列都偏移
 3 [a1].Offset(2).Select       '只偏移行
 4 [a1].Offset(, 2).Select     '只偏移列
 5 
 6 '如果offset前面的range对象是一个区域,则偏移后也结果尺寸不变
 7 [a1:d1].Offset(1, 2).Select
 8 [a1:d1].Offset(2).Select
 9 [a1:d1].Offset(, 2).Select
10 End Sub

若[a1].offset(0,0).select则选中A1本身

Range.Offset结合Range.Copy Range

1 Sub offset应用1()
2 Dim i%
3 For i = 2 To 8 Step 2
4     [a1:e1].Copy [a1:e1].Offset(i)
5 Next i
6 End Sub

VBA学习笔记之Range.Offset属性VBA学习笔记之Range.Offset属性

Sub offset应用2()
Dim i%
For i = 2 To 8 Step 2
    [a1:e1].Offset(i) = ""'删除之前添加的表头(用空值""代替)
Next i
End Sub