使用 VBA:returning a #REF 复制并粘贴公式!而不是引用的单元格

Copy and paste a formula using VBA:returning a #REF! instead of referenced cell

我是 VBA 的新手...我已经构建了一个报告和宏,但无法将公式从一个 sheet 复制并粘贴到另一个

这是我遇到问题的代码部分...

Worksheets("Data Checks").Range("B11").Copy Worksheets("Items By Location").Range("Y2")

所以我想将以下公式从 Worksheets("Data Checks").Range("B11") 复制到 Worksheets("Items By Location").Range("Y2")

公式如下...

=OR(LEFT('Items By Location'!D2, 4)="JV05", LEFT('Items By Location'!D2, 4)="JVAW",  LEFT('Items By Location'!D2, 5)="HARHW")

但是当宏运行时它会粘贴为...

=OR(LEFT('Items By Location'!#REF!, 4)="JV05", LEFT('Items By Location'!#REF!, 4)="JVAW",  LEFT('Items By Location'!#REF!, 5)="HARHW")

我需要它来保留 'D2',然后自动填充到报告底部。

我知道输入公式可能更容易,但我希望无需进入 VBA.

即可修改此公式

任何帮助或想法将不胜感激

非常感谢 哈维

这段代码应该可以实现您想要实现的目标:

Worksheets("Items By Location").Range("Y2").Formula = Worksheets("Data Checks").Range("B11").Formula

这样效率也会高一些。

如果您复制单元格,公式将会调整,因为它是一个相对引用。为避免这种情况,请将公式字符串直接从一个分配给另一个:

Worksheets("Items By Location").Range("Y2").Formula = Worksheets("Data Checks").Range("B11").Formula