如何使用excel vba自动复制同一工作表中最后一行的数据并复制到表的最后一行?

如何使用excel vba自动复制同一工作表中最后一行的数据并复制到表的最后一行?,vba,excel,Vba,Excel,我正在设法选择并将数据从最后一行(F列到I列)复制到'summary'表(O列到R列)的最后一行 目前,这是我找到的代码,但它似乎可以粘贴在同一列范围内的不同行中 例如,它将复制数据F38:I38,并将数据粘贴到F40:I40。但是,我想要的是从F38:I38复制数据,代码将找到'summary'表的最后一行,并将数据F38:I38粘贴到最后一个空行 是否可以针对同一工作表的最后两行,但单元格数不同?有没有办法让这个过程自动化 Dim lastRowI As Integer lastRowI

我正在设法
选择
将数据从最后一行(F列到I列)复制到
'summary'
表(O列到R列)的最后一行

目前,这是我找到的代码,但它似乎可以粘贴在同一列范围内的不同行中

例如,它将复制数据
F38:I38
,并将数据粘贴到
F40:I40
。但是,我想要的是从
F38:I38
复制数据,代码将找到
'summary'
表的最后一行,并将数据
F38:I38
粘贴到最后一个空行

是否可以针对同一工作表的最后两行,但单元格数不同?有没有办法让这个过程自动化

Dim lastRowI As Integer 

lastRowI = ws.Cells(Rows.Count, 6).End(xlUp).Row
ws.Activate
ws.Range(Cells(lastRowI, 6), Cells(lastRowI, 9)).Select
Selection.Copy
ws.Range(Cells(lastRowI + 2, 6), Cells(lastRowI + 2, 9)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

假设您已将表命名为“Summary”


汇总表范围的最后一行是:

Dim rngLastRow As Range
Set rngLastRow = Range("N4").CurrentRegion
Set rngLastRow = rngLastRow.Rows(rngLastRow.Rows.Count)

我尝试了这个方法,但它将替换汇总表上的最后一个数据。如何使其粘贴到下一行?一种方法是Selection.Offset(1,0)。Selection我修改了原始答案中用于Clarity的代码很抱歉,但我应该将此代码放在何处,很抱歉,因为我对VBA了解不多,您需要某个范围内的最后一行。当我需要粘贴最后一行时,我是否必须+1或添加1才能使数据不会覆盖最后一行的数据?如果粘贴到最后一行,则会覆盖其中的任何内容。如果您想在最后一行的下方粘贴一行,那么这将是rngLastRow.Offset(1,0),感谢您了解如何获取最后一行。这很有帮助!!
Dim rngLastRow As Range
Set rngLastRow = Range("N4").CurrentRegion
Set rngLastRow = rngLastRow.Rows(rngLastRow.Rows.Count)