您好,我是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
答案 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)