Exce:VB命令将一系列单元格从一个工作表复制到另一个工作表

时间:2017-09-15 19:04:09

标签: excel vba

我在同一个文件中有2张(计算器和备份计划),我在纸张之间来回传输数据。

我无法弄清楚如何将一系列细胞从计算器表转移到另一个细胞。

我目前的VB代码是:

Sheets("Calculator").Range("R3:R15").Copy Destination:=Sheets("BackupSchedule").Range("E8:E20")

但我得到#REF!单元格E8中的backupschedule工作表中的错误:E20。

我想复制R列,第3行到第15行(单元格:R3,R4,R5等)中的单元格,然后将它们放在E行8到20行(单元格:E8,E9,E10等)中

有人可以帮我一把吗?

1 个答案:

答案 0 :(得分:3)

您正在获取#Ref,因为您正在复制带有引用的公式,这些引用在粘贴在较早的列中时相对于您粘贴它的位置不在工作表中。

如果我在=A1的C4中有一个公式,如果我将其复制并粘贴到D5中,它将变为=B2。如果我尝试将副本粘贴到B3中,则该引用不再有效,因为它现在正在尝试引用不在工作表中的单元格。

我怀疑你现在只想要这些值。有几种方法可以将值放入所需的单元格中。

您只能复制和粘贴值:

Sheets("Calculator").Range("R3:R15").Copy
Sheets("BackupSchedule").Range("E8:E20").PasteSpecial xlValues

您可以直接指定值(推荐)

Sheets("BackupSchedule").Range("E8:E20").Value = Sheets("Calculator").Range("R3:R15").Value

或者您可以将公式放在引用原始范围的范围内:

Sheets("BackupSchedule").Range("E8:E20").Formula = "=Calculator!R3"