如何复制/粘贴到下一个空行?

时间:2019-08-14 21:31:30

标签: excel vba copy paste

我有代码复制工作表A的A:C列(未设置行数,将重复使用,并且数量将更改)并粘贴到同一工作簿,不同工作表,工作表中的第一空白行B(这也没有设置行数,并且将更改)。

工作表B在要粘贴到的同一列中有一个公式,如果没有数据,则返回“”。我认为VBA正在看到“”,并假设那里有数据。但是,甚至没有粘贴到没有上述公式的行也不会粘贴。

Sub Copy_Created_Fringe_Accounts()
    Dim SourceRange As Range
    Dim DestRange As Range
    Dim DestSheet As Worksheet
    Dim LastRow As Long

'Source sheet and range
    Set SourceRange = Sheets("CREATED FRINGE ACCTS").Range("A2:C500")

'Destination sheet and range
    Set DestSheet = Sheets("99 BUDGET WORKSHEET")

'Last Row
    LastRow = DestSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

'Copy and paste to destination
    Set DestRange = DestSheet.Range("A" & LastRow + 1)
    SourceRange.Copy DestRange

End Sub

运行时什么也没发生。我希望从第一个可用的空行开始,将工作表A中的数据复制到工作表B中。

我对VBA还是很陌生,所以对您的帮助/理解都非常感谢。

1 个答案:

答案 0 :(得分:0)

找到最后一行

请尝试使用UsedRange查找最后使用的行,因为这比使用Find更安全。

LastRow = DestSheet.UsedRange.Rows.Count


旁注

如果您的代码与这些工作表位于同一位置,那么我建议使用它们的code name。如果工作表不存在,这可以防止您遇到错误。