VBA返回#REF! 当粘贴值时

我需要VBA复制和粘贴范围的值,从A15:I17到A14:I16。 这是我的代码:

Range("A15:I17").Copy Range("A14").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

它返回值为#REF! 当使用代码,但是当我手动执行此操作时,它将完美粘贴。

以下是粘贴单元格中的公式示例:

 Range("B17").Formula = "=INDEX('Focus Data Edited'!$G:$G,MATCH(1e99,'Focus Data Edited'!$G:$G))" Range("C17").Formula = "=(D17+E17)" Range("D17").Formula = "=INDEX('Focus Data Edited'!$H:$H,MATCH(1e99,'Focus Data Edited'!$H:$H))" Range("E17").Formula = "=INDEX('Focus Data Edited'!$I:$I,MATCH(1e99,'Focus Data Edited'!$I:$I))" Range("F17").Formula = "=INDEX('Focus Data Edited'!$J:$J,MATCH(1e99,'Focus Data Edited'!$J:$J))" Range("G17").Formula = "=INDEX('Focus Data Edited'!$K:$K,MATCH(1e99,'Focus Data Edited'!$K:$K))" Range("H17").Formula = "=INDEX('Focus Data Edited'!$L:$L,MATCH(1e99,'Focus Data Edited'!$L:$L))" Range("I17").Formula = "=INDEX('Focus Data Edited'!$M:$M,MATCH(1e99,'Focus Data Edited'!$M:$M))" 

让我知道如果你能帮助我!

谢谢,希拉里

您可以使用macroslogging器来保存您的手动过程。 一旦你保存了你的代码,试着运行它。 如果这样做,你可以稍微修改它,使其看起来更好。