-1

我有表格格式的数据,范围从 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

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

提前致谢。

4

1 回答 1

0

您在 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
于 2013-03-15T14:08:26.057 回答