【问题标题】:Copying table data continously in excel workbook在excel工作簿中连续复制表格数据
【发布时间】:2025-08-01 04:20:01
【问题描述】:

我有表格格式的数据,范围从 A2:O30

我需要通过单击宏按钮将该表数据复制到范围 Q2:A33 等

我用过这段代码

Sub Button1_Click()
  If Range("Q2").Value = "" Then
      Range("Q2:AE33").Value = Range("A2:O33").Value
  Else
      Range("Q2:A33" & ActiveSheet.Rows.Count).End(xlUp) _
      .Offset(0, 1).Value = Range("A2:O33").Value
  End If
End Sub

它复制得很好,但是当我下次单击该按钮时,它会显示一个错误。 从我们下次按下按钮开始,它应该复制 AE 旁边的表格范围,即从 AG2:AU33

它应该通过单击按钮连续复制。

提前致谢。

【问题讨论】:

  • 错误信息是什么意思?

标签: windows windows-7 excel vba


【解决方案1】:

您在 Else 语句中错误地定义了范围。另外,使用范围变量可以避免一直说Range("A2:O33") - 像这样:

Dim rngCopy as Range
Set rngCopy = Range("A2:O33")

Cells("A" & Activesheet.Rows.Count).End(xlUp).Offset(0, 1).Resize(rngCopy.Rows.Count, rngCopy.Columns.Count).Value = rngCopy.Value

【讨论】: