在Excel工作簿中连续复制表数据

时间:2013-03-15 11:56:20

标签: windows excel windows-7 excel-vba vba

我的数据格式为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

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

先谢谢。

1 个答案:

答案 0 :(得分: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