在当前选中的单元格右边插入1,2,3
Sub Macro1()
'
' Macro1 Macro
' 宏由 cq 录制,时间: 2016/08/02
'
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.FormulaR1C1 = "1"
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.FormulaR1C1 = "2"
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.FormulaR1C1 = "3"
ActiveCell.Offset(0, 1).Range("A1").Select
End Sub
解析:
1、ActiveCell.Offset(0, 1) 表示当前单元格的右边第一个单元格
2、Range("A1").Select 表示选择单元格或是单元格区域的第一个单元格,这里A1表示当前单元格,A2表示A1下方的一个单元格
3、VBA之FormulaR1C1属性 :FormulaR1C1是公式输入方法
有中括号是相对于选定单元格的相对偏移量,"-"为向左或向上偏移,正数为右或下偏移。
无中括号为相对于选定单元格的绝对偏移量,没有负数
"R"和"C"对应“行”和“列”
如:选定单元格为C8
R[-1]C[-1]为B7单元格,行列都-1,R[1]C[2]为E9单元格,行+1,列+2
R1C1代表A1单元格,R5C6代表F5单元格
例:C1单元格为"=A1+B1"
Range("C1").FormulaR1C1 = "=RC[-2]+RC[-1]"
例:C1单元格为"=A2+E3"
Range("C1").FormulaR1C1 = "=R[1]C[-2]+R[2]C[2]"
补充绝对引用
例:C1单元格为"=$A$2+$E$3"
Range("C1").FormulaR1C1 = "=R2C1+R3C5"
获取绝对单元格并且赋值(19行1列):
Range("A19").Value = 1
Cells(19, 1).Value = 1