复制范围Sheet1粘贴在活动单元格2中

时间:2017-10-27 02:34:47

标签: excel vba excel-vba

我试图完成以下任务:

  1. Sheet1:用户单击运行VBA的按钮。

  2. Sheet2:VBA选择D列上的第一个非空白单元格

    范围(" D"& Rows.Count).End(xlUp).Offset(1).Select

  3. Sheet1:VBA复制一系列值

    工作表("工作表Sheet")范围(" E2:AJ11&#34)。复制

  4. Sheet2:VBA将复制的范围粘贴到先前选择的活动单元格中。

  5. 我尝试粘贴到活动单元格的这部分无效:

    Worksheets("Results").ActiveCell.PasteSpecial xlPasteValues
    

    有谁知道如何解决这个问题?

    非常感谢!

2 个答案:

答案 0 :(得分:0)

你的代码可以使用一些改进,但为了保持你的代码并使其工作,我会改变命令的顺序,看看它是否适合你。

  1. Sheet1:用户单击运行VBA的按钮。
  2. Sheet1:VBA复制一系列值
  3. 工作表( “工作表Sheet”)范围。( “E2:AJ11”)复制
  4. 然后到表2

    1. Sheet2:VBA选择D列上的第一个非空白单元格
    2. 范围(“D”和Rows.Count).End(xlUp).Offset(1)。选择(或只是粘贴而不是选择)
    3. Sheet2:VBA将复制的范围粘贴到先前选择的活动单元格中。
    4. 或者只是跳过困扰你的行,而是使用:

      Range("D" & Rows.Count).End(xlUp).Offset(1).pastespecial xlpastevalues
      

      (根据需要调整,这是值)

      或者使用这样的东西:

      Sub Copy()
      
      Dim LastRow As Long
      Dim Results As Worksheet
      
          Set Results = Sheets("Results")
          LastRow = Results.Cells(Results.Rows.Count, "D").End(xlUp).row
      
          Range("E2:AJ11").Copy
          Results.Range("D" & LastRow + 1).PasteSpecial xlPasteAll
      
          Application.CutCopyMode = False
      End Sub
      

答案 1 :(得分:0)

试试这个。

Dim i as Integer
i = 1

Do while cells(i,4) <> ""
    Range("D" & Rows.Count).End(xlUp).Offset(1).Select
    Worksheets("Sheet1").Range("E2:AJ11").Copy
    i = i + 1
Loop