【问题标题】:Copying data from one sheet to another using macros使用宏将数据从一张表复制到另一张表
【发布时间】:2020-05-21 02:28:55
【问题描述】:

我有两张“ABC”和“XYZ” 我想从工作表“ABC”D28:AZ28(目前是 =Sum 公式)中获取数据,并将其放在工作表“XYZ”的底行(第二列)。我还希望该行的第一列是工作表“ABC”的单元格“A1”中的日期

我还没有弄清楚日期部分,每次我尝试使用宏时都会收到错误消息(似乎它正在尝试更改总和公式)。

Sub Copy_Method()
    Sheets("ABC").Range("D28:AZ28").Copy Destination:=Sheets("XYZ").Range("B2")
End Sub

我在“XYZ”表中的单元格中遇到的错误是;

#REF!  [=Sum(#REF)]

感谢您的帮助。

【问题讨论】:

  • #REF 错误表示引用的范围公式不退出。要了解这一点,请打开一本新书。在 A16 =Sum(A5:A15) 中输入公式。将公式复制到 B16、C12、D11。检查他们将移动的那些公式中的范围。D11 将给出 #REF 错误,因为它找不到 11 行来求和。
  • 好的。所以现在我明白了问题所在。我该如何解决?

标签: excel vba


【解决方案1】:

您的代码正在复制具有相对单元格引用的公式。换句话说,“SUM”公式试图对第 1 行上方的单元格求和,这会导致 #REF 错误。

您没有具体说明要复制的内容。如果您只想要这些值(而不是公式),您可以只粘贴这些值:

Sub Copy_Method()
    Sheets("ABC").Range("D28:AZ28").Copy
    Sheets("XYZ").Range("B2").PasteSpecial Paste:=xlPasteValues
End Sub

【讨论】:

  • 优秀。这是非常好的。谢谢你。但是,下次我运行代码时,如何在下面的行中填充结果(在工作簿“XYZ”中。另外,有没有办法在 A 列中显示日期?非常感谢您的帮助。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多