繁体   English   中英

复制范围工作表1粘贴到活动单元格工作表2中

[英]Copy Range Sheet1 Paste in Active Cell Sheet 2

我正在尝试完成以下任务:

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

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

    Range(“ D”&Rows.Count).End(xlUp).Offset(1).Select

  3. 工作表1:VBA复制一系列值

    工作表( “工作表Sheet1”)的范围。( “E2:AJ11”)。复制

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

我尝试粘贴到活动单元格中的这一部分不起作用:

Worksheets("Results").ActiveCell.PasteSpecial xlPasteValues

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

非常感谢!

您的代码可以使用一些改进,但为了保留您的代码并使之正常工作,我将更改命令顺序,以查看是否适合您。

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

然后到表2

  1. 表格2:VBA选择D列上的第一个非空白单元格
  2. Range(“ D”&Rows.Count).End(xlUp).Offset(1).Select (或只是粘贴而不是select)
  3. Sheet2:VBA将复制的范围粘贴到先前选择的活动单元格中。

或者只是跳过打扰您的行,而是使用:

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

试试这个。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM