|
楼主 |
发表于 2011-9-2 17:22
|
显示全部楼层
本帖最后由 hzhb14796 于 2011-9-2 17:59 编辑
5,R1C1样式的经典实例 ,一种有趣的行为
创建R1C1公式实际上比A1公式更直观。一个演示R1C1公式的经典实例是创建乘法表,在excel中,使用单个混合引用公式就可创建乘法表。
5.1 创建乘法表
在B1:M1中输入数字1-12,在A2:a13中也输入数字1-12 ,现在创建b2:m13中所有单元格公式,它计算第一行和第一列的乘积。用R1C1样式公式代码如下
Sub Multiplicationtable()
Range("b1:m1").Value = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
Range("b1:m1").Font.Bold = True
Range("b1:m1").Copy
Range("a2:a13").PasteSpecial Transpose:=True
Range("b2:m13").FormulaR1C1 = "=rc1*r1c"
Cells.EntireColumn.AutoFit
End Sub
5.2 一种有趣的行为
尝试一下操作,将单元格指针移到F6,单击“开发工具”--”录制宏“,让后单击“开发工具”---“使用相对引用”,输入公式=a1并按ctrl+enter键,以保留在F6键中。单击“停止录制”按钮。
将得到一个只包含一行的代码的宏,它在当前的单元格输入公式,该公式引用向上5行,向左5列的单元格:
Sub 宏1()
'
' 宏1 宏
'
'
Selection.FormulaR1C1 = "=R[-5]C[-5]"
End Sub
现在将单元格指针移到A1并运行刚才的宏,你可能会认为将导致运行错误1004,但实际并没有出现这种错误。运行宏时,单元格A1中的公式指向=XF1048572,这意味这R1C1公式从表的左侧绕回到右侧,这是一个很有趣的行为,但是可能宏将提供一个与用户期望不同的结果!!!!!!
|
-
乘法表实例
-
一种有趣行为演示
|