将一个工作表范围内的非空行复制到另一个工作表

时间:2015-01-27 17:34:53

标签: excel-vba vba excel

您好,我是VBA的初学者。我有个问题。我正在尝试将数据从一个工作表范围(A27:K35)粘贴到另一个工作表范围(A9:K17)。有一个小问题。用户不一定必须输入所有行。他/她可以根据需要输入1-8个ro ..例如,如果在工作表1中输入了行A27:K30,则应将该数据复制到工作表2中的行A9:K12,而不是复制空白。我设法写了一些东西,但它一次复制所有8行。有人可以帮我解决空白问题吗?

提交是一个带有宏的按钮,如下面工作表1所述。

Sub Submit()

Range("A27:K35").Select
    Selection.Copy

    Sheets("Worksheet2").Select
    Range("A9:A17").Select
    Selection.Insert Shift:=xlDown

MsgBox "Data copied"

End Sub

1 个答案:

答案 0 :(得分:0)

您无需选择要粘贴的范围,只需要第一个单元格,下面的代码将复制范围A27:K35 然后将其粘贴到A列中的第一个空行(“Worksheet2”)

   Dim sh As Worksheet
    Set sh = Worksheets("Worksheet2")
    ActiveSheet.Range("A27:K35").Copy Destination:=sh.Cells(Rows.Count, "A").End(xlUp).Offset(1)