复制范围并将其存储在不同的工作表上

时间:2013-05-29 16:55:06

标签: excel-vba vba excel

我认为这不是一项太难的任务,但问题是我实际上对编程一无所知,我需要在目前的工作中做到这一点。这是我的问题:

问题在于我必须开发一个宏,并将其分配给一个按钮,该按钮从第1页(第1页)复制范围E3:K14并将其粘贴在第2页(第2页)的A1上。第一个任务相当简单,但问题出现的时候,如果我再次点击按钮指定的宏,它必须从第1页复制相同的范围并将其粘贴在第2页上,但如果第一个必须检查是否已在A1上粘贴了某些东西,如果有,那么它必须在单元格I1上复制它,如果我再次单击按钮到Q1,依此类推。

粘贴范围时,必须使用“粘贴Vale”选项粘贴。

如果有人可以给我准确的代码(如果可能的话还有一些评论),我只需要粘贴它就会非常有帮助。

任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:1)

尝试以下代码:

Sub sample()
    With Sheets("Sheet2")
        Sheets("sheet1").Range("E3:K14").Copy .Cells(.Range("A" & .Rows.End(xlUp).Row) + 1, 1)
    End With
End Sub

enter image description here

说明:

  • 使用了范围复制方法并提供了目的地 糊。
  • .Range("A" & .Rows.End(xlUp).Row) + 1检查sheet2列A中最后使用的单元格并添加1,以便将数据粘贴到最后使用的行上。(假设列E没有空白单元格)

答案 1 :(得分:0)

老兄,您可以使用此代码获取包含数据的最后一列,这是解决问题的关键。

Sub SelectLast()
  Dim LastColumn As Long
  With ActiveSheet
    LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column
  End With
  MsgBox LastColumn

  Cells(18, LastColumn + 2).Select
End Sub