将范围从一个工作表复制到另一工作表的最后一行数据

时间:2020-08-22 19:46:08

标签: excel vba

我想复制“ B”列中的单元格区域,并将其粘贴到同一列中同一工作簿的另一张工作表的最后一行数据之后。我有以下代码,但无法弄清楚如何实际粘贴数据。

Dim lastRow As String

Sheet9.Range("B2:B100").Select
Sheet9.Range(Selection,Selection.End(xlDown)).Select
Selection.Copy


lastRow = Sheet14.Cells(Rows.Count, "B").End(xlUp).Row + 1
Sheet14.Range("B" & lastRow).Activate
Sheet14.Paste

2 个答案:

答案 0 :(得分:0)

请尝试下一行代码,

Sheet9.Range("B2:B" & Sheet9.Range("B100").End(xlDown).Row).Copy _
    Destination:=Sheet14.Range("B" & Sheet14.Range("B" & Rows.count).End(xlUp).Row + 1)

它将表格B2复制到B100之后的最后一个空行...

答案 1 :(得分:0)

复制范围

  • 要了解为什么不建议使用第一个代码的原因,请通读以下“经典”:How to avoid using Select in Excel VBA

  • 第二个代码显示了如何分三步复制范围:定义CopyRange,定义PasteCellPasteRange)和最后Copy/Paste

  • 要更好地理解第二代码,请从Microsoft Range.CopyRange.PasteSpecial中检出this tutorialthese videos

  • 要使代码适合您的情况,请将Sheet1替换为Sheet9,将Sheet2替换为Sheet14,将B10替换为{{1} }。

代码

B100