fro*_*key 14 excel vba excel-vba
我正在使用VBA(r1c1格式)为Excel编写一个宏,我想引用一个始终位于E3位置的单元格.是否有我可以使用的语法将以r1c1格式进行绝对引用?或者有没有办法切换到A1并返回到r1c1?
我到处寻找,我找不到答案...提前谢谢.
Jer*_*iah 21
如果我坚持=E3到G5和=$E$3成G6,然后启动一个VB窗口和即时窗口中做到这一点:
? ActiveSheet.Range("G5").Formula
=E3
? ActiveSheet.Range("G5").FormulaR1C1
=R[-2]C[-2]
? ActiveSheet.Range("G6").Formula
=$E$3
? ActiveSheet.Range("G6").FormulaR1C1
=R3C5
Run Code Online (Sandbox Code Playgroud)
所以R和C使它相对于当前的细胞.当数字为负时,您需要使用方括号,否则Excel认为您从无效的单元格引用中减去一个数字.
编辑:值得一提的是,当绝对与相对时,引用的处理方式不同.
对于相对引用您从单元格的公式是计数.E3是R[-2]C[-2]远离G5.即2行,2列.
对于绝对值,您从左上角开始计算.所以E3是R3C5.即3行向下,5列以上.(感谢@GeorgeDooling的澄清)