我有这个等式,我正在使用 VBA 将其输入电子表格的单元格中:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],RC[-1]:R[" & CellNumber & "]C[-1],1,0)"
如何让它输入带有 $
符号的公式以保持单元格引用锁定?
我尝试在公式中各自的位置添加 $
,但这没有用。
最佳答案
如果还没有,也许有一天你会注意到不同之处在于绝对引用 (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 布局时除外)。
将方括号 [ ]
视为“来 self 所在的单元格”可能会有所帮助。
行的“负列表示左侧”相当于“向上”。
关于excel - 绝对引用 - 在用 R1C1 表示法编写的等式中插入 '$' 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769812/