在当前选中的单元格右边插入1,2,3

自信的尘埃 www.gocpplua.com-CSDN博客

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

(0)

相关推荐