绝对引用 - 在以R1C1表示法编写的等式中插入等效的'$'

Num*_*uan 3 excel vba excel-vba

我有这个等式,我使用VBA进入我的电子表格中的单元格:

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],RC[-1]:R[" & CellNumber & "]C[-1],1,0)"
Run Code Online (Sandbox Code Playgroud)

如何输入带有$符号的公式以保持单元格引用被锁定?

我尝试$在公式中添加s各自的位置但是没有用.

pnu*_*uts 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布局时).

将方括号一起[ ]视为"来自我所在的单元格" 可能会有所帮助.

行的"负列表示左侧"等效于"向上".