我有这个等式,我正在使用VBA进入我的电子表格中的单元格:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],RC[-1]:R[" & CellNumber & "]C[-1],1,0)"
如何输入带有$
符号的公式以保持单元格引用被锁定?
我尝试在公式中各自的位置添加$
,但这不起作用。
答案 0 :(得分:5)
如果还有一天,你可能会注意到差异是绝对引用(i)不使用方括号,(ii)总是在R
和C
的右边有一个数字,例如R1C1,这意味着第1行,第1列 - 通常表示A1
(虽然有时R1C1
在电子表格本身,以及宏中 - 当在所谓的R1C1参考样式时)。
RC[-3]
是一个相对引用,意味着任何行恰好是当前行(R
右边没有值,所以没有偏离当前行)和左边三列(因为是负面的)任何恰好是当前列。
因此,如果在D1
中,RC[-3]
引用与R1C1
完全相同的位置 - 即通常称为A1
的内容。
但是,因为相对引用,将RC[-3]
放在E1
中,它将引用B1
,而R1C1
(和$ A $ 1一样)引用A1
无论它放在哪里。
现在,您的示例提到Active Cell
- 这是您将放置公式的位置,并且是“在同一行但左侧三列”的起点。但是你还没有展示如何选择活动单元格,因此我们无法确定从哪个单元格开始,因此无法确定要结束的位置(而不是方向/距离)。
例如,如果在棋盘上,相对引用可能是“将你的骑士向上移动两行,向右移动一列”,而绝对将“将你的骑士放在方形王4”中。
从某种意义上说,两个“系统”都是相对的 - 只是“绝对”系统总是相对于左上角(除了使用RTL布局时)。
将[ ]
的方括号视为“来自我所在的单元格”可能会有所帮助。
行的“负列表示左侧”相当于“向上”。