VBA 不断更改我放入范围内的公式

VBA keeps changing the formula I put into a range

所以我有一个相对简单的代码,将一个公式(指的是同一工作簿中的不同 sheet)放入一个范围。

Range(Selection, Selection.End(xlUp)).Formula2R1C1 = "=XLOOKUP(RC[-1],'Trade Summary'!X:X,'Trade Summary'!H:H)"

我的问题是,在我 运行 之后,代码 VBA 将公式更改为例如:

=XLOOKUP(E15,'Trade Summary'!X:(X),'Trade Summary'!H:(H))

由于范围周围的括号,它无法正常工作。 有没有办法避免这种情况?

这似乎很奇怪,但是当使用R1C1 表示法时,您使用C24 来指代所有X 列,而C8 指代所有H 列。所以调整你的公式如下:

"=XLOOKUP(RC[-1],'Trade Summary'!C24,'Trade Summary'!C8)"

这里的C24不是指C列和第24行相交的单元格,而是指“第24列”,也就是X列的全部。