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

问题描述 投票:2回答:2

我对VBA相当陌生,我已经建立了一个报表和宏,但是被卡住了,并将公式从一张纸粘贴到另一张纸。

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

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即可修改此公式。

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

非常感谢哈维

excel vba copy-paste
2个回答
0
投票

此代码应完成您要实现的目标:

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

这也将更有效率。


0
投票

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

Worksheets("Items By Location").Range("Y2").Formula = Worksheets("Data Checks").Range("B11").Formula
© www.soinside.com 2019 - 2024. All rights reserved.